public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* c++/3676: GCC 3.1 experimental, Internal compiler error
@ 2001-07-13 5:56 us
0 siblings, 0 replies; only message in thread
From: us @ 2001-07-13 5:56 UTC (permalink / raw)
To: gcc-gnats
>Number: 3676
>Category: c++
>Synopsis: Internal compiler error
>Confidential: no
>Severity: critical
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Jul 13 05:56:01 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator: Uwe Seimet
>Release: 3.1 20010713 (experimental)
>Organization:
Object Oriented Concepts GmbH
>Environment:
System: Linux duplo 2.4.6 #1 SMP Wed Jul 4 13:42:19 MEST 2001 i686 unknown
Architecture: i686
host: i686-pc-linux-gnu
build: i686-pc-linux-gnu
target: i686-pc-linux-gnu
configured with: /home/us/egcs/gcc/configure --prefix=/opt/egcs --enable-threads --enable-shared --enable-languages=c++
>Description:
Compiling the file with the preprocessed output from the end of
this e-mail results in an internal compiler error:
GenCPPSkelH.cpp: In member function `void
IdlCPPGenerator::genCPlusPlusSkelHOperation(const
CORBA::OperationDescription*, bool, IdlPrettyPrint&)':
GenCPPSkelH.cpp:499: Internal compiler error in genrtl_compound_stmt, at
c-semantics.c:686
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL: http://www.gnu.org/software/gcc/bugs.html > for instructions.
>How-To-Repeat:
Please compile the preprocessed output at the end of this e-mail with
the following command:
c++ -Wno-deprecated -pipe -fPIC -Wall -fpermissive test.cpp
>Fix:
None
This is the offending preprocessed output:
# 11 "GenCPPSkelH.cpp"
# 1 "../../include/OB/CORBA.h" 1
# 14 "../../include/OB/CORBA.h"
# 1 "../../include/OB/CORBAServer.h" 1
# 14 "../../include/OB/CORBAServer.h"
# 1 "../../include/OB/CORBAClient.h" 1
# 14 "../../include/OB/CORBAClient.h"
# 1 "../../include/OB/NativeTypes.h" 1
# 33 "../../include/OB/NativeTypes.h"
namespace CORBA
{
class ValueFactoryBase;
}
namespace OBNative_CORBA
{
typedef CORBA::ValueFactoryBase* ValueFactory;
}
namespace PortableServer
{
class ServantBase;
}
namespace OBNative_PortableServer
{
typedef PortableServer::ServantBase* Servant;
class ServantLocator
{
public:
typedef void* Cookie;
};
}
namespace OB
{
class Properties;
class EventHandlerBase;
}
namespace OBNative_OB
{
typedef OB::Properties* PropertySet;
typedef OB::EventHandlerBase* EventHandler;
}
# 15 "../../include/OB/CORBAClient.h" 2
# 1 "../../include/OB/TypeCode.h" 1
# 14 "../../include/OB/TypeCode.h"
# 1 "../../include/OB/Any.h" 1
# 14 "../../include/OB/Any.h"
# 1 "../../include/OB/Principal_fwd.h" 1
# 14 "../../include/OB/Principal_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 14 "../../include/OB/Template.h"
# 1 "../../include/OB/Basic.h" 1
# 22 "../../include/OB/Basic.h"
# 1 "../../include/OB/Config.h" 1
# 23 "../../include/OB/Basic.h" 2
# 1 "../../../jtc/include/JTC/JTC.h" 1
# 14 "../../../jtc/include/JTC/JTC.h"
# 1 "../../../jtc/include/JTC/Thread.h" 1
# 14 "../../../jtc/include/JTC/Thread.h"
# 1 "../../../jtc/include/JTC/Types.h" 1
# 17 "../../../jtc/include/JTC/Types.h"
# 1 "../../../jtc/include/JTC/Config.h" 1
# 18 "../../../jtc/include/JTC/Types.h" 2
# 58 "../../../jtc/include/JTC/Types.h"
# 1 "/opt/egcs/include/g++-v3/iostream" 1 3
# 31 "/opt/egcs/include/g++-v3/iostream" 3
# 1 "/opt/egcs/include/g++-v3/bits/std_iostream.h" 1 3
# 38 "/opt/egcs/include/g++-v3/bits/std_iostream.h" 3
# 1 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/c++config.h" 1 3
# 34 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/c++config.h" 3
# 1 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/os_defines.h" 1 3
# 37 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/os_defines.h" 3
# 1 "/usr/include/features.h" 1 3
# 283 "/usr/include/features.h" 3
# 1 "/usr/include/sys/cdefs.h" 1 3
# 284 "/usr/include/features.h" 2 3
# 311 "/usr/include/features.h" 3
# 1 "/usr/include/gnu/stubs.h" 1 3
# 312 "/usr/include/features.h" 2 3
# 38 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/os_defines.h" 2 3
# 35 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/c++config.h" 2 3
# 40 "/opt/egcs/include/g++-v3/bits/std_iostream.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/std_ostream.h" 1 3
# 38 "/opt/egcs/include/g++-v3/bits/std_ostream.h" 3
# 1 "/opt/egcs/include/g++-v3/bits/std_ios.h" 1 3
# 38 "/opt/egcs/include/g++-v3/bits/std_ios.h" 3
# 1 "/opt/egcs/include/g++-v3/bits/std_iosfwd.h" 1 3
# 38 "/opt/egcs/include/g++-v3/bits/std_iosfwd.h" 3
# 1 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/c++config.h" 1 3
# 40 "/opt/egcs/include/g++-v3/bits/std_iosfwd.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/stringfwd.h" 1 3
# 38 "/opt/egcs/include/g++-v3/bits/stringfwd.h" 3
# 1 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/c++config.h" 1 3
# 40 "/opt/egcs/include/g++-v3/bits/stringfwd.h" 2 3
namespace std
{
template<class _CharT>
struct char_traits;
template<> class char_traits<char>;
template<> class char_traits<wchar_t>;
template<typename _Alloc>
class allocator;
template<typename _CharT, typename _Traits = char_traits<_CharT>,
typename _Alloc = allocator<_CharT> >
class basic_string;
typedef basic_string<char> string;
typedef basic_string<wchar_t> wstring;
}
# 41 "/opt/egcs/include/g++-v3/bits/std_iosfwd.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/fpos.h" 1 3
# 38 "/opt/egcs/include/g++-v3/bits/fpos.h" 3
# 1 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/c++io.h" 1 3
# 35 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/c++io.h" 3
# 1 "/opt/egcs/include/g++-v3/cstdio" 1 3
# 31 "/opt/egcs/include/g++-v3/cstdio" 3
# 1 "/opt/egcs/include/g++-v3/bits/std_cstdio.h" 1 3
# 37 "/opt/egcs/include/g++-v3/bits/std_cstdio.h" 3
# 1 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/c++config.h" 1 3
# 38 "/opt/egcs/include/g++-v3/bits/std_cstdio.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/std_cstddef.h" 1 3
# 38 "/opt/egcs/include/g++-v3/bits/std_cstddef.h" 3
# 1 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stddef.h" 1 3
# 147 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stddef.h" 3
typedef int ptrdiff_t;
# 199 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stddef.h" 3
typedef unsigned int size_t;
# 39 "/opt/egcs/include/g++-v3/bits/std_cstddef.h" 2 3
namespace std
{
using ::ptrdiff_t;
using ::size_t;
}
# 39 "/opt/egcs/include/g++-v3/bits/std_cstdio.h" 2 3
# 41 "/opt/egcs/include/g++-v3/bits/std_cstdio.h" 3
# 1 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stdio.h" 1 3
# 36 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stdio.h" 3
# 1 "/usr/include/features.h" 1 3
# 37 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stdio.h" 2 3
extern "C" {
# 1 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stddef.h" 1 3
# 43 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stdio.h" 2 3
# 1 "/usr/include/bits/types.h" 1 3
# 26 "/usr/include/bits/types.h" 3
# 1 "/usr/include/features.h" 1 3
# 27 "/usr/include/bits/types.h" 2 3
# 1 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stddef.h" 1 3
# 30 "/usr/include/bits/types.h" 2 3
typedef unsigned char __u_char;
typedef unsigned short __u_short;
typedef unsigned int __u_int;
typedef unsigned long __u_long;
__extension__ typedef unsigned long long int __u_quad_t;
__extension__ typedef long long int __quad_t;
# 49 "/usr/include/bits/types.h" 3
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef signed short int __int16_t;
typedef unsigned short int __uint16_t;
typedef signed int __int32_t;
typedef unsigned int __uint32_t;
__extension__ typedef signed long long int __int64_t;
__extension__ typedef unsigned long long int __uint64_t;
typedef __quad_t *__qaddr_t;
typedef __u_quad_t __dev_t;
typedef __u_int __uid_t;
typedef __u_int __gid_t;
typedef __u_long __ino_t;
typedef __u_int __mode_t;
typedef __u_int __nlink_t;
typedef long int __off_t;
typedef __quad_t __loff_t;
typedef int __pid_t;
typedef int __ssize_t;
typedef __u_long __rlim_t;
typedef __u_quad_t __rlim64_t;
typedef __u_int __id_t;
typedef struct
{
int __val[2];
} __fsid_t;
typedef int __daddr_t;
typedef char *__caddr_t;
typedef long int __time_t;
typedef unsigned int __useconds_t;
typedef long int __suseconds_t;
typedef long int __swblk_t;
typedef long int __clock_t;
typedef int __clockid_t;
typedef int __timer_t;
typedef int __key_t;
typedef unsigned short int __ipc_pid_t;
typedef long int __blksize_t;
typedef long int __blkcnt_t;
typedef __quad_t __blkcnt64_t;
typedef __u_long __fsblkcnt_t;
typedef __u_quad_t __fsblkcnt64_t;
typedef __u_long __fsfilcnt_t;
typedef __u_quad_t __fsfilcnt64_t;
typedef __u_quad_t __ino64_t;
typedef __loff_t __off64_t;
typedef long int __t_scalar_t;
typedef unsigned long int __t_uscalar_t;
typedef int __intptr_t;
typedef unsigned int __socklen_t;
# 1 "/usr/include/bits/pthreadtypes.h" 1 3
# 23 "/usr/include/bits/pthreadtypes.h" 3
# 1 "/usr/include/bits/sched.h" 1 3
# 68 "/usr/include/bits/sched.h" 3
struct __sched_param
{
int __sched_priority;
};
# 24 "/usr/include/bits/pthreadtypes.h" 2 3
struct _pthread_fastlock
{
long int __status;
int __spinlock;
};
typedef struct _pthread_descr_struct *_pthread_descr;
typedef struct __pthread_attr_s
{
int __detachstate;
int __schedpolicy;
struct __sched_param __schedparam;
int __inheritsched;
int __scope;
size_t __guardsize;
int __stackaddr_set;
void *__stackaddr;
size_t __stacksize;
} pthread_attr_t;
typedef struct
{
struct _pthread_fastlock __c_lock;
_pthread_descr __c_waiting;
} pthread_cond_t;
typedef struct
{
int __dummy;
} pthread_condattr_t;
typedef unsigned int pthread_key_t;
typedef struct
{
int __m_reserved;
int __m_count;
_pthread_descr __m_owner;
int __m_kind;
struct _pthread_fastlock __m_lock;
} pthread_mutex_t;
typedef struct
{
int __mutexkind;
} pthread_mutexattr_t;
typedef int pthread_once_t;
typedef struct _pthread_rwlock_t
{
struct _pthread_fastlock __rw_lock;
int __rw_readers;
_pthread_descr __rw_writer;
_pthread_descr __rw_read_waiting;
_pthread_descr __rw_write_waiting;
int __rw_kind;
int __rw_pshared;
} pthread_rwlock_t;
typedef struct
{
int __lockkind;
int __pshared;
} pthread_rwlockattr_t;
typedef volatile int pthread_spinlock_t;
typedef struct {
struct _pthread_fastlock __ba_lock;
int __ba_required;
int __ba_present;
_pthread_descr __ba_waiting;
} pthread_barrier_t;
typedef struct {
int __pshared;
} pthread_barrierattr_t;
typedef unsigned long int pthread_t;
# 144 "/usr/include/bits/types.h" 2 3
# 45 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stdio.h" 2 3
# 53 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stdio.h" 3
typedef struct _IO_FILE FILE;
# 63 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stdio.h" 3
typedef struct _IO_FILE __FILE;
# 73 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stdio.h" 3
# 1 "/usr/include/libio.h" 1 3
# 30 "/usr/include/libio.h" 3
# 1 "/usr/include/_G_config.h" 1 3
# 9 "/usr/include/_G_config.h" 3
# 1 "/usr/include/bits/types.h" 1 3
# 10 "/usr/include/_G_config.h" 2 3
# 1 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stddef.h" 1 3
# 314 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stddef.h" 3
typedef unsigned int wint_t;
# 15 "/usr/include/_G_config.h" 2 3
# 24 "/usr/include/_G_config.h" 3
# 1 "/usr/include/wchar.h" 1 3
# 48 "/usr/include/wchar.h" 3
# 1 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stddef.h" 1 3
# 49 "/usr/include/wchar.h" 2 3
# 1 "/usr/include/bits/wchar.h" 1 3
# 51 "/usr/include/wchar.h" 2 3
# 67 "/usr/include/wchar.h" 3
typedef struct
{
int __count;
union
{
wint_t __wch;
char __wchb[4];
} __value;
} __mbstate_t;
# 25 "/usr/include/_G_config.h" 2 3
typedef struct
{
__off_t __pos;
__mbstate_t __state;
} _G_fpos_t;
typedef struct
{
__off64_t __pos;
__mbstate_t __state;
} _G_fpos64_t;
# 44 "/usr/include/_G_config.h" 3
# 1 "/usr/include/gconv.h" 1 3
# 26 "/usr/include/gconv.h" 3
# 1 "/usr/include/features.h" 1 3
# 27 "/usr/include/gconv.h" 2 3
# 1 "/usr/include/wchar.h" 1 3
# 48 "/usr/include/wchar.h" 3
# 1 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stddef.h" 1 3
# 49 "/usr/include/wchar.h" 2 3
# 1 "/usr/include/bits/wchar.h" 1 3
# 51 "/usr/include/wchar.h" 2 3
# 29 "/usr/include/gconv.h" 2 3
# 1 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stddef.h" 1 3
# 31 "/usr/include/gconv.h" 2 3
enum
{
__GCONV_OK = 0,
__GCONV_NOCONV,
__GCONV_NODB,
__GCONV_NOMEM,
__GCONV_EMPTY_INPUT,
__GCONV_FULL_OUTPUT,
__GCONV_ILLEGAL_INPUT,
__GCONV_INCOMPLETE_INPUT,
__GCONV_ILLEGAL_DESCRIPTOR,
__GCONV_INTERNAL_ERROR
};
enum
{
__GCONV_IS_LAST = 0x0001,
__GCONV_IGNORE_ERRORS = 0x0002
};
struct __gconv_step;
struct __gconv_step_data;
struct __gconv_loaded_object;
struct __gconv_trans_data;
typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *,
__const unsigned char **, __const unsigned char *,
unsigned char **, size_t *, int, int);
typedef int (*__gconv_init_fct) (struct __gconv_step *);
typedef void (*__gconv_end_fct) (struct __gconv_step *);
typedef int (*__gconv_trans_fct) (struct __gconv_step *,
struct __gconv_step_data *, void *,
__const unsigned char *,
__const unsigned char **,
__const unsigned char *, unsigned char **,
size_t *);
typedef int (*__gconv_trans_context_fct) (void *, __const unsigned char *,
__const unsigned char *,
unsigned char *, unsigned char *);
typedef int (*__gconv_trans_query_fct) (__const char *, __const char ***,
size_t *);
typedef int (*__gconv_trans_init_fct) (void **, const char *);
typedef void (*__gconv_trans_end_fct) (void *);
struct __gconv_trans_data
{
__gconv_trans_fct __trans_fct;
__gconv_trans_context_fct __trans_context_fct;
__gconv_trans_end_fct __trans_end_fct;
void *__data;
struct __gconv_trans_data *__next;
};
struct __gconv_step
{
struct __gconv_loaded_object *__shlib_handle;
__const char *__modname;
int __counter;
char *__from_name;
char *__to_name;
__gconv_fct __fct;
__gconv_init_fct __init_fct;
__gconv_end_fct __end_fct;
int __min_needed_from;
int __max_needed_from;
int __min_needed_to;
int __max_needed_to;
int __stateful;
void *__data;
};
struct __gconv_step_data
{
unsigned char *__outbuf;
unsigned char *__outbufend;
int __flags;
int __invocation_counter;
int __internal_use;
__mbstate_t *__statep;
__mbstate_t __state;
struct __gconv_trans_data *__trans;
};
typedef struct __gconv_info
{
size_t __nsteps;
struct __gconv_step *__steps;
__extension__ struct __gconv_step_data __data [];
} *__gconv_t;
# 45 "/usr/include/_G_config.h" 2 3
typedef union
{
struct __gconv_info __cd;
struct
{
struct __gconv_info __cd;
struct __gconv_step_data __data;
} __combined;
} _G_iconv_t;
typedef int _G_int16_t __attribute__ ((__mode__ (__HI__)));
typedef int _G_int32_t __attribute__ ((__mode__ (__SI__)));
typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__)));
typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__)));
# 31 "/usr/include/libio.h" 2 3
# 51 "/usr/include/libio.h" 3
# 1 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stdarg.h" 1 3
# 43 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stdarg.h" 3
typedef __builtin_va_list __gnuc_va_list;
# 52 "/usr/include/libio.h" 2 3
# 158 "/usr/include/libio.h" 3
struct _IO_jump_t; struct _IO_FILE;
# 168 "/usr/include/libio.h" 3
typedef void _IO_lock_t;
struct _IO_marker {
struct _IO_marker *_next;
struct _IO_FILE *_sbuf;
int _pos;
# 191 "/usr/include/libio.h" 3
};
enum __codecvt_result
{
__codecvt_ok,
__codecvt_partial,
__codecvt_error,
__codecvt_noconv
};
struct _IO_codecvt
{
void (*__codecvt_destr) (struct _IO_codecvt *);
enum __codecvt_result (*__codecvt_do_out) (struct _IO_codecvt *,
__mbstate_t *,
const wchar_t *,
const wchar_t *,
const wchar_t **, char *,
char *, char **);
enum __codecvt_result (*__codecvt_do_unshift) (struct _IO_codecvt *,
__mbstate_t *, char *,
char *, char **);
enum __codecvt_result (*__codecvt_do_in) (struct _IO_codecvt *,
__mbstate_t *,
const char *, const char *,
const char **, wchar_t *,
wchar_t *, wchar_t **);
int (*__codecvt_do_encoding) (struct _IO_codecvt *);
int (*__codecvt_do_always_noconv) (struct _IO_codecvt *);
int (*__codecvt_do_length) (struct _IO_codecvt *, __mbstate_t *,
const char *, const char *, size_t);
int (*__codecvt_do_max_length) (struct _IO_codecvt *);
_G_iconv_t __cd_in;
_G_iconv_t __cd_out;
};
struct _IO_wide_data
{
wchar_t *_IO_read_ptr;
wchar_t *_IO_read_end;
wchar_t *_IO_read_base;
wchar_t *_IO_write_base;
wchar_t *_IO_write_ptr;
wchar_t *_IO_write_end;
wchar_t *_IO_buf_base;
wchar_t *_IO_buf_end;
wchar_t *_IO_save_base;
wchar_t *_IO_backup_base;
wchar_t *_IO_save_end;
__mbstate_t _IO_state;
__mbstate_t _IO_last_state;
struct _IO_codecvt _codecvt;
wchar_t _shortbuf[1];
struct _IO_jump_t *_wide_vtable;
};
struct _IO_FILE {
int _flags;
char* _IO_read_ptr;
char* _IO_read_end;
char* _IO_read_base;
char* _IO_write_base;
char* _IO_write_ptr;
char* _IO_write_end;
char* _IO_buf_base;
char* _IO_buf_end;
char *_IO_save_base;
char *_IO_backup_base;
char *_IO_save_end;
struct _IO_marker *_markers;
struct _IO_FILE *_chain;
int _fileno;
int _blksize;
__off_t _old_offset;
unsigned short _cur_column;
signed char _vtable_offset;
char _shortbuf[1];
_IO_lock_t *_lock;
# 303 "/usr/include/libio.h" 3
__off64_t _offset;
struct _IO_codecvt *_codecvt;
struct _IO_wide_data *_wide_data;
int _mode;
char _unused2[15 * sizeof (int) - 2 * sizeof (void *)];
};
struct _IO_FILE_plus;
extern struct _IO_FILE_plus _IO_2_1_stdin_;
extern struct _IO_FILE_plus _IO_2_1_stdout_;
extern struct _IO_FILE_plus _IO_2_1_stderr_;
# 342 "/usr/include/libio.h" 3
typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes);
typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf,
size_t __n);
typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w);
typedef int __io_close_fn (void *__cookie);
typedef __io_read_fn cookie_read_function_t;
typedef __io_write_fn cookie_write_function_t;
typedef __io_seek_fn cookie_seek_function_t;
typedef __io_close_fn cookie_close_function_t;
typedef struct
{
__io_read_fn *read;
__io_write_fn *write;
__io_seek_fn *seek;
__io_close_fn *close;
} _IO_cookie_io_functions_t;
typedef _IO_cookie_io_functions_t cookie_io_functions_t;
struct _IO_cookie_file;
extern void _IO_cookie_init (struct _IO_cookie_file *__cfile, int __read_write,
void *__cookie, _IO_cookie_io_functions_t __fns);
extern "C" {
extern int __underflow (_IO_FILE *) throw ();
extern int __uflow (_IO_FILE *) throw ();
extern int __overflow (_IO_FILE *, int) throw ();
extern wint_t __wunderflow (_IO_FILE *) throw ();
extern wint_t __wuflow (_IO_FILE *) throw ();
extern wint_t __woverflow (_IO_FILE *, wint_t) throw ();
# 424 "/usr/include/libio.h" 3
extern int _IO_getc (_IO_FILE *__fp) throw ();
extern int _IO_putc (int __c, _IO_FILE *__fp) throw ();
extern int _IO_feof (_IO_FILE *__fp) throw ();
extern int _IO_ferror (_IO_FILE *__fp) throw ();
extern int _IO_peekc_locked (_IO_FILE *__fp) throw ();
extern void _IO_flockfile (_IO_FILE *) throw ();
extern void _IO_funlockfile (_IO_FILE *) throw ();
extern int _IO_ftrylockfile (_IO_FILE *) throw ();
# 454 "/usr/include/libio.h" 3
extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict,
__gnuc_va_list, int *__restrict) throw ();
extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict,
__gnuc_va_list) throw ();
extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t) throw ();
extern size_t _IO_sgetn (_IO_FILE *, void *, size_t) throw ();
extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int) throw ();
extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int) throw ();
extern void _IO_free_backup_area (_IO_FILE *) throw ();
extern wint_t _IO_getwc (_IO_FILE *__fp) throw ();
extern wint_t _IO_putwc (wchar_t __wc, _IO_FILE *__fp) throw ();
extern int _IO_fwide (_IO_FILE *__fp, int __mode) throw ();
# 501 "/usr/include/libio.h" 3
extern int _IO_vfwscanf (_IO_FILE * __restrict, const wchar_t * __restrict,
__gnuc_va_list, int *__restrict) throw ();
extern int _IO_vfwprintf (_IO_FILE *__restrict, const wchar_t *__restrict,
__gnuc_va_list) throw ();
extern __ssize_t _IO_wpadn (_IO_FILE *, wint_t, __ssize_t) throw ();
extern void _IO_free_wbackup_area (_IO_FILE *) throw ();
}
# 74 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stdio.h" 2 3
typedef __gnuc_va_list __not_va_list__;
# 88 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stdio.h" 3
typedef _G_fpos_t fpos_t;
typedef _G_fpos64_t fpos64_t;
# 137 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stdio.h" 3
# 1 "/usr/include/bits/stdio_lim.h" 1 3
# 138 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stdio.h" 2 3
extern FILE *stdin;
extern FILE *stdout;
extern FILE *stderr;
extern int remove (__const char *__filename) throw ();
extern int rename (__const char *__old, __const char *__new) throw ();
extern FILE *tmpfile (void) throw ();
# 166 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stdio.h" 3
extern FILE *tmpfile64 (void) throw ();
extern char *tmpnam (char *__s) throw ();
extern char *tmpnam_r (char *__s) throw ();
# 186 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stdio.h" 3
extern char *tempnam (__const char *__dir, __const char *__pfx)
throw () __attribute__ ((__malloc__));
extern int fclose (FILE *__stream) throw ();
extern int fflush (FILE *__stream) throw ();
extern int fflush_unlocked (FILE *__stream) throw ();
extern int fcloseall (void) throw ();
extern FILE *fopen (__const char *__restrict __filename,
__const char *__restrict __modes) throw ();
extern FILE *freopen (__const char *__restrict __filename,
__const char *__restrict __modes,
FILE *__restrict __stream) throw ();
# 230 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stdio.h" 3
extern FILE *fopen64 (__const char *__restrict __filename,
__const char *__restrict __modes) throw ();
extern FILE *freopen64 (__const char *__restrict __filename,
__const char *__restrict __modes,
FILE *__restrict __stream) throw ();
extern FILE *fdopen (int __fd, __const char *__modes) throw ();
extern FILE *fopencookie (void *__restrict __magic_cookie,
__const char *__restrict __modes,
_IO_cookie_io_functions_t __io_funcs) throw ();
extern FILE *fmemopen (void *__s, size_t __len, __const char *__modes) throw ();
extern FILE *open_memstream (char **__restrict __bufloc,
size_t *__restrict __sizeloc) throw ();
extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) throw ();
extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
int __modes, size_t __n) throw ();
extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
size_t __size) throw ();
extern void setlinebuf (FILE *__stream) throw ();
extern int fprintf (FILE *__restrict __stream,
__const char *__restrict __format, ...) throw ();
extern int printf (__const char *__restrict __format, ...) throw ();
extern int sprintf (char *__restrict __s,
__const char *__restrict __format, ...) throw ();
extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format,
__gnuc_va_list __arg) throw ();
extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg)
throw ();
extern int vsprintf (char *__restrict __s, __const char *__restrict __format,
__gnuc_va_list __arg) throw ();
extern int snprintf (char *__restrict __s, size_t __maxlen,
__const char *__restrict __format, ...)
throw () __attribute__ ((__format__ (__printf__, 3, 4)));
extern int vsnprintf (char *__restrict __s, size_t __maxlen,
__const char *__restrict __format, __gnuc_va_list __arg)
throw () __attribute__ ((__format__ (__printf__, 3, 0)));
extern int vasprintf (char **__restrict __ptr, __const char *__restrict __f,
__gnuc_va_list __arg)
throw () __attribute__ ((__format__ (__printf__, 2, 0)));
extern int __asprintf (char **__restrict __ptr,
__const char *__restrict __fmt, ...)
throw () __attribute__ ((__format__ (__printf__, 2, 3)));
extern int asprintf (char **__restrict __ptr,
__const char *__restrict __fmt, ...)
throw () __attribute__ ((__format__ (__printf__, 2, 3)));
extern int vdprintf (int __fd, __const char *__restrict __fmt,
__gnuc_va_list __arg)
throw () __attribute__ ((__format__ (__printf__, 2, 0)));
extern int dprintf (int __fd, __const char *__restrict __fmt, ...)
throw () __attribute__ ((__format__ (__printf__, 2, 3)));
extern int fscanf (FILE *__restrict __stream,
__const char *__restrict __format, ...) throw ();
extern int scanf (__const char *__restrict __format, ...) throw ();
extern int sscanf (__const char *__restrict __s,
__const char *__restrict __format, ...) throw ();
extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format,
__gnuc_va_list __arg)
throw () __attribute__ ((__format__ (__scanf__, 2, 0)));
extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg)
throw () __attribute__ ((__format__ (__scanf__, 1, 0)));
extern int vsscanf (__const char *__restrict __s,
__const char *__restrict __format, __gnuc_va_list __arg)
throw () __attribute__ ((__format__ (__scanf__, 2, 0)));
extern int fgetc (FILE *__stream) throw ();
extern int getc (FILE *__stream) throw ();
extern int getchar (void) throw ();
extern int getc_unlocked (FILE *__stream) throw ();
extern int getchar_unlocked (void) throw ();
extern int fgetc_unlocked (FILE *__stream) throw ();
extern int fputc (int __c, FILE *__stream) throw ();
extern int putc (int __c, FILE *__stream) throw ();
extern int putchar (int __c) throw ();
extern int fputc_unlocked (int __c, FILE *__stream) throw ();
extern int putc_unlocked (int __c, FILE *__stream) throw ();
extern int putchar_unlocked (int __c) throw ();
extern int getw (FILE *__stream) throw ();
extern int putw (int __w, FILE *__stream) throw ();
extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
throw ();
extern char *fgets_unlocked (char *__restrict __s, int __n,
FILE *__restrict __stream) throw ();
extern char *gets (char *__s) throw ();
# 434 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stdio.h" 3
extern __ssize_t __getdelim (char **__restrict __lineptr,
size_t *__restrict __n, int __delimiter,
FILE *__restrict __stream) throw ();
extern __ssize_t getdelim (char **__restrict __lineptr,
size_t *__restrict __n, int __delimiter,
FILE *__restrict __stream) throw ();
extern __ssize_t getline (char **__restrict __lineptr,
size_t *__restrict __n,
FILE *__restrict __stream) throw ();
extern int fputs (__const char *__restrict __s, FILE *__restrict __stream)
throw ();
extern int fputs_unlocked (__const char *__restrict __s,
FILE *__restrict __stream) throw ();
extern int puts (__const char *__s) throw ();
extern int ungetc (int __c, FILE *__stream) throw ();
extern size_t fread (void *__restrict __ptr, size_t __size,
size_t __n, FILE *__restrict __stream) throw ();
extern size_t fwrite (__const void *__restrict __ptr, size_t __size,
size_t __n, FILE *__restrict __s) throw ();
extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
size_t __n, FILE *__restrict __stream) throw ();
extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size,
size_t __n, FILE *__restrict __stream) throw ();
extern int fseek (FILE *__stream, long int __off, int __whence) throw ();
extern long int ftell (FILE *__stream) throw ();
extern void rewind (FILE *__stream) throw ();
# 497 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stdio.h" 3
extern int fseeko (FILE *__stream, __off_t __off, int __whence) throw ();
extern __off_t ftello (FILE *__stream) throw ();
extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos)
throw ();
extern int fsetpos (FILE *__stream, __const fpos_t *__pos) throw ();
# 531 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stdio.h" 3
extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence) throw ();
extern __off64_t ftello64 (FILE *__stream) throw ();
extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos)
throw ();
extern int fsetpos64 (FILE *__stream, __const fpos64_t *__pos) throw ();
extern void clearerr (FILE *__stream) throw ();
extern int feof (FILE *__stream) throw ();
extern int ferror (FILE *__stream) throw ();
extern void clearerr_unlocked (FILE *__stream) throw ();
extern int feof_unlocked (FILE *__stream) throw ();
extern int ferror_unlocked (FILE *__stream) throw ();
extern void perror (__const char *__s) throw ();
extern int sys_nerr;
extern __const char *__const sys_errlist[];
extern int _sys_nerr;
extern __const char *__const _sys_errlist[];
extern int fileno (FILE *__stream) throw ();
extern int fileno_unlocked (FILE *__stream) throw ();
extern FILE *popen (__const char *__command, __const char *__modes) throw ();
extern int pclose (FILE *__stream) throw ();
extern char *ctermid (char *__s) throw ();
extern char *cuserid (char *__s) throw ();
struct obstack;
extern int obstack_printf (struct obstack *__restrict __obstack,
__const char *__restrict __format, ...) throw ();
extern int obstack_vprintf (struct obstack *__restrict __obstack,
__const char *__restrict __format,
__gnuc_va_list __args) throw ();
extern void flockfile (FILE *__stream) throw ();
extern int ftrylockfile (FILE *__stream) throw ();
extern void funlockfile (FILE *__stream) throw ();
# 641 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stdio.h" 3
}
# 42 "/opt/egcs/include/g++-v3/bits/std_cstdio.h" 2 3
# 86 "/opt/egcs/include/g++-v3/bits/std_cstdio.h" 3
namespace std
{
using ::FILE;
using ::fpos_t;
using ::clearerr;
using ::fclose;
using ::feof;
using ::ferror;
using ::fflush;
using ::fgetc;
using ::fgetpos;
using ::fgets;
using ::fopen;
using ::fprintf;
using ::fputc;
using ::fputs;
using ::fread;
using ::freopen;
using ::fscanf;
using ::fseek;
using ::fsetpos;
using ::ftell;
using ::fwrite;
using ::getc;
using ::getchar;
using ::gets;
using ::perror;
using ::printf;
using ::putc;
using ::putchar;
using ::puts;
using ::remove;
using ::rename;
using ::rewind;
using ::scanf;
using ::setbuf;
using ::setvbuf;
using ::sprintf;
using ::sscanf;
using ::tmpfile;
using ::tmpnam;
using ::ungetc;
using ::vfprintf;
using ::vprintf;
using ::vsprintf;
}
# 142 "/opt/egcs/include/g++-v3/bits/std_cstdio.h" 3
namespace __gnu_cxx
{
using ::snprintf;
using ::vfscanf;
using ::vscanf;
using ::vsnprintf;
using ::vsscanf;
}
namespace std
{
using __gnu_cxx::snprintf;
using __gnu_cxx::vfscanf;
using __gnu_cxx::vscanf;
using __gnu_cxx::vsnprintf;
using __gnu_cxx::vsscanf;
}
# 32 "/opt/egcs/include/g++-v3/cstdio" 2 3
# 36 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/c++io.h" 2 3
# 1 "/opt/egcs/include/g++-v3/cstddef" 1 3
# 37 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/c++io.h" 2 3
# 1 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/gthr.h" 1 3
# 98 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/gthr.h" 3
# 1 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/gthr-default.h" 1 3
# 37 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/gthr-default.h" 3
# 1 "/usr/include/pthread.h" 1 3
# 18 "/usr/include/pthread.h" 3
# 1 "/usr/include/features.h" 1 3
# 19 "/usr/include/pthread.h" 2 3
# 1 "/usr/include/sched.h" 1 3
# 23 "/usr/include/sched.h" 3
# 1 "/usr/include/features.h" 1 3
# 24 "/usr/include/sched.h" 2 3
# 1 "/usr/include/bits/types.h" 1 3
# 27 "/usr/include/sched.h" 2 3
# 1 "/usr/include/time.h" 1 3
# 106 "/usr/include/time.h" 3
struct timespec
{
long int tv_sec;
long int tv_nsec;
};
# 30 "/usr/include/sched.h" 2 3
# 1 "/usr/include/bits/sched.h" 1 3
# 47 "/usr/include/bits/sched.h" 3
struct sched_param
{
int __sched_priority;
};
extern "C" {
extern int clone (int (*__fn) (void *__arg), void *__child_stack,
int __flags, void *__arg) throw ();
}
# 33 "/usr/include/sched.h" 2 3
extern "C" {
extern int sched_setparam (__pid_t __pid, __const struct sched_param *__param)
throw ();
extern int sched_getparam (__pid_t __pid, struct sched_param *__param) throw ();
extern int sched_setscheduler (__pid_t __pid, int __policy,
__const struct sched_param *__param) throw ();
extern int sched_getscheduler (__pid_t __pid) throw ();
extern int sched_yield (void) throw ();
extern int sched_get_priority_max (int __algorithm) throw ();
extern int sched_get_priority_min (int __algorithm) throw ();
extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) throw ();
}
# 21 "/usr/include/pthread.h" 2 3
# 1 "/usr/include/time.h" 1 3
# 28 "/usr/include/time.h" 3
# 1 "/usr/include/features.h" 1 3
# 29 "/usr/include/time.h" 2 3
extern "C" {
# 1 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stddef.h" 1 3
# 39 "/usr/include/time.h" 2 3
# 1 "/usr/include/bits/time.h" 1 3
# 43 "/usr/include/time.h" 2 3
# 56 "/usr/include/time.h" 3
# 1 "/usr/include/bits/types.h" 1 3
# 57 "/usr/include/time.h" 2 3
typedef __clock_t clock_t;
# 1 "/usr/include/bits/types.h" 1 3
# 68 "/usr/include/time.h" 2 3
typedef __time_t time_t;
# 79 "/usr/include/time.h" 3
# 1 "/usr/include/bits/types.h" 1 3
# 80 "/usr/include/time.h" 2 3
typedef __clockid_t clockid_t;
# 91 "/usr/include/time.h" 3
# 1 "/usr/include/bits/types.h" 1 3
# 92 "/usr/include/time.h" 2 3
typedef __timer_t timer_t;
# 118 "/usr/include/time.h" 3
struct tm
{
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
int tm_wday;
int tm_yday;
int tm_isdst;
long int tm_gmtoff;
__const char *tm_zone;
};
struct itimerspec
{
struct timespec it_interval;
struct timespec it_value;
};
struct sigevent;
typedef __pid_t pid_t;
extern clock_t clock (void) throw ();
extern time_t time (time_t *__timer) throw ();
extern double difftime (time_t __time1, time_t __time0)
throw () __attribute__ ((__const__));
extern time_t mktime (struct tm *__tp) throw ();
extern size_t strftime (char *__restrict __s, size_t __maxsize,
__const char *__restrict __format,
__const struct tm *__restrict __tp) throw ();
extern char *strptime (__const char *__restrict __s,
__const char *__restrict __fmt, struct tm *__tp)
throw ();
extern struct tm *gmtime (__const time_t *__timer) throw ();
extern struct tm *localtime (__const time_t *__timer) throw ();
extern struct tm *gmtime_r (__const time_t *__restrict __timer,
struct tm *__restrict __tp) throw ();
extern struct tm *localtime_r (__const time_t *__restrict __timer,
struct tm *__restrict __tp) throw ();
extern char *asctime (__const struct tm *__tp) throw ();
extern char *ctime (__const time_t *__timer) throw ();
extern char *asctime_r (__const struct tm *__restrict __tp,
char *__restrict __buf) throw ();
extern char *ctime_r (__const time_t *__restrict __timer,
char *__restrict __buf) throw ();
extern char *__tzname[2];
extern int __daylight;
extern long int __timezone;
extern char *tzname[2];
extern void tzset (void) throw ();
extern int daylight;
extern long int timezone;
extern int stime (__const time_t *__when) throw ();
# 271 "/usr/include/time.h" 3
extern time_t timegm (struct tm *__tp) throw ();
extern time_t timelocal (struct tm *__tp) throw ();
extern int dysize (int __year) throw () __attribute__ ((__const__));
extern int nanosleep (__const struct timespec *__requested_time,
struct timespec *__remaining) throw ();
extern int clock_getres (clockid_t __clock_id, struct timespec *__res) throw ();
extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) throw ();
extern int clock_settime (clockid_t __clock_id, __const struct timespec *__tp)
throw ();
extern int clock_nanosleep (clockid_t __clock_id, int __flags,
__const struct timespec *__req,
struct timespec *__rem) throw ();
extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) throw ();
extern int timer_create (clockid_t __clock_id,
struct sigevent *__restrict __evp,
timer_t *__restrict __timerid) throw ();
extern int timer_delete (timer_t __timerid) throw ();
extern int timer_settime (timer_t __timerid, int __flags,
__const struct itimerspec *__restrict __value,
struct itimerspec *__restrict __ovalue) throw ();
extern int timer_gettime (timer_t __timerid, struct itimerspec *__value)
throw ();
extern int timer_getoverrun (timer_t __timerid) throw ();
# 342 "/usr/include/time.h" 3
extern int getdate_err;
extern struct tm *getdate (__const char *__string) throw ();
# 357 "/usr/include/time.h" 3
extern int getdate_r (__const char *__restrict __string,
struct tm *__restrict __resbufp) throw ();
}
# 22 "/usr/include/pthread.h" 2 3
# 1 "/usr/include/signal.h" 1 3
# 29 "/usr/include/signal.h" 3
# 1 "/usr/include/features.h" 1 3
# 30 "/usr/include/signal.h" 2 3
extern "C" {
# 1 "/usr/include/bits/sigset.h" 1 3
# 23 "/usr/include/bits/sigset.h" 3
typedef int __sig_atomic_t;
typedef struct
{
unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
} __sigset_t;
# 34 "/usr/include/signal.h" 2 3
# 48 "/usr/include/signal.h" 3
typedef __sigset_t sigset_t;
# 371 "/usr/include/signal.h" 3
}
# 25 "/usr/include/pthread.h" 2 3
# 1 "/usr/include/bits/pthreadtypes.h" 1 3
# 26 "/usr/include/pthread.h" 2 3
# 1 "/usr/include/bits/initspin.h" 1 3
# 27 "/usr/include/pthread.h" 2 3
extern "C" {
# 59 "/usr/include/pthread.h" 3
enum
{
PTHREAD_CREATE_JOINABLE,
PTHREAD_CREATE_DETACHED
};
enum
{
PTHREAD_INHERIT_SCHED,
PTHREAD_EXPLICIT_SCHED
};
enum
{
PTHREAD_SCOPE_SYSTEM,
PTHREAD_SCOPE_PROCESS
};
enum
{
PTHREAD_MUTEX_TIMED_NP,
PTHREAD_MUTEX_RECURSIVE_NP,
PTHREAD_MUTEX_ERRORCHECK_NP,
PTHREAD_MUTEX_ADAPTIVE_NP
,
PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_TIMED_NP,
PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP,
PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP,
PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL
, PTHREAD_MUTEX_FAST_NP = PTHREAD_MUTEX_ADAPTIVE_NP
};
enum
{
PTHREAD_PROCESS_PRIVATE,
PTHREAD_PROCESS_SHARED
};
enum
{
PTHREAD_RWLOCK_PREFER_READER_NP,
PTHREAD_RWLOCK_PREFER_WRITER_NP,
PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP,
PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_WRITER_NP
};
# 131 "/usr/include/pthread.h" 3
struct _pthread_cleanup_buffer
{
void (*__routine) (void *);
void *__arg;
int __canceltype;
struct _pthread_cleanup_buffer *__prev;
};
enum
{
PTHREAD_CANCEL_ENABLE,
PTHREAD_CANCEL_DISABLE
};
enum
{
PTHREAD_CANCEL_DEFERRED,
PTHREAD_CANCEL_ASYNCHRONOUS
};
# 163 "/usr/include/pthread.h" 3
extern int pthread_create (pthread_t *__restrict __thread,
__const pthread_attr_t *__restrict __attr,
void *(*__start_routine) (void *),
void *__restrict __arg) throw ();
extern pthread_t pthread_self (void) throw ();
extern int pthread_equal (pthread_t __thread1, pthread_t __thread2) throw ();
extern void pthread_exit (void *__retval)
throw () __attribute__ ((__noreturn__));
extern int pthread_join (pthread_t __th, void **__thread_return) throw ();
extern int pthread_detach (pthread_t __th) throw ();
extern int pthread_attr_init (pthread_attr_t *__attr) throw ();
extern int pthread_attr_destroy (pthread_attr_t *__attr) throw ();
extern int pthread_attr_setdetachstate (pthread_attr_t *__attr,
int __detachstate) throw ();
extern int pthread_attr_getdetachstate (__const pthread_attr_t *__attr,
int *__detachstate) throw ();
extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr,
__const struct sched_param *__restrict
__param) throw ();
extern int pthread_attr_getschedparam (__const pthread_attr_t *__restrict
__attr,
struct sched_param *__restrict __param)
throw ();
extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy)
throw ();
extern int pthread_attr_getschedpolicy (__const pthread_attr_t *__restrict
__attr, int *__restrict __policy)
throw ();
extern int pthread_attr_setinheritsched (pthread_attr_t *__attr,
int __inherit) throw ();
extern int pthread_attr_getinheritsched (__const pthread_attr_t *__restrict
__attr, int *__restrict __inherit)
throw ();
extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope)
throw ();
extern int pthread_attr_getscope (__const pthread_attr_t *__restrict __attr,
int *__restrict __scope) throw ();
extern int pthread_attr_setguardsize (pthread_attr_t *__attr,
size_t __guardsize) throw ();
extern int pthread_attr_getguardsize (__const pthread_attr_t *__restrict
__attr, size_t *__restrict __guardsize)
throw ();
extern int pthread_attr_setstackaddr (pthread_attr_t *__attr,
void *__stackaddr) throw ();
extern int pthread_attr_getstackaddr (__const pthread_attr_t *__restrict
__attr, void **__restrict __stackaddr)
throw ();
extern int pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr,
size_t __stacksize) throw ();
extern int pthread_attr_getstack (__const pthread_attr_t *__restrict __attr,
void **__restrict __stackaddr,
size_t *__restrict __stacksize) throw ();
extern int pthread_attr_setstacksize (pthread_attr_t *__attr,
size_t __stacksize) throw ();
extern int pthread_attr_getstacksize (__const pthread_attr_t *__restrict
__attr, size_t *__restrict __stacksize)
throw ();
extern int pthread_setschedparam (pthread_t __target_thread, int __policy,
__const struct sched_param *__param)
throw ();
extern int pthread_getschedparam (pthread_t __target_thread,
int *__restrict __policy,
struct sched_param *__restrict __param)
throw ();
extern int pthread_getconcurrency (void) throw ();
extern int pthread_setconcurrency (int __level) throw ();
extern int pthread_yield (void) throw ();
extern int pthread_mutex_init (pthread_mutex_t *__restrict __mutex,
__const pthread_mutexattr_t *__restrict
__mutex_attr) throw ();
extern int pthread_mutex_destroy (pthread_mutex_t *__mutex) throw ();
extern int pthread_mutex_trylock (pthread_mutex_t *__mutex) throw ();
extern int pthread_mutex_lock (pthread_mutex_t *__mutex) throw ();
extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex,
__const struct timespec *__restrict
__abstime) throw ();
extern int pthread_mutex_unlock (pthread_mutex_t *__mutex) throw ();
extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr) throw ();
extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr) throw ();
extern int pthread_mutexattr_getpshared (__const pthread_mutexattr_t *
__restrict __attr,
int *__restrict __pshared) throw ();
extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr,
int __pshared) throw ();
extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind)
throw ();
extern int pthread_mutexattr_gettype (__const pthread_mutexattr_t *__restrict
__attr, int *__restrict __kind) throw ();
extern int pthread_cond_init (pthread_cond_t *__restrict __cond,
__const pthread_condattr_t *__restrict
__cond_attr) throw ();
extern int pthread_cond_destroy (pthread_cond_t *__cond) throw ();
extern int pthread_cond_signal (pthread_cond_t *__cond) throw ();
extern int pthread_cond_broadcast (pthread_cond_t *__cond) throw ();
extern int pthread_cond_wait (pthread_cond_t *__restrict __cond,
pthread_mutex_t *__restrict __mutex) throw ();
extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond,
pthread_mutex_t *__restrict __mutex,
__const struct timespec *__restrict
__abstime) throw ();
extern int pthread_condattr_init (pthread_condattr_t *__attr) throw ();
extern int pthread_condattr_destroy (pthread_condattr_t *__attr) throw ();
extern int pthread_condattr_getpshared (__const pthread_condattr_t *
__restrict __attr,
int *__restrict __pshared) throw ();
extern int pthread_condattr_setpshared (pthread_condattr_t *__attr,
int __pshared) throw ();
extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock,
__const pthread_rwlockattr_t *__restrict
__attr) throw ();
extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock) throw ();
extern int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock) throw ();
extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock) throw ();
extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock,
__const struct timespec *__restrict
__abstime) throw ();
extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock) throw ();
extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock) throw ();
extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock,
__const struct timespec *__restrict
__abstime) throw ();
extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock) throw ();
extern int pthread_rwlockattr_init (pthread_rwlockattr_t *__attr) throw ();
extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr) throw ();
extern int pthread_rwlockattr_getpshared (__const pthread_rwlockattr_t *
__restrict __attr,
int *__restrict __pshared) throw ();
extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr,
int __pshared) throw ();
extern int pthread_rwlockattr_getkind_np (__const pthread_rwlockattr_t *__attr,
int *__pref) throw ();
extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr,
int __pref) throw ();
# 504 "/usr/include/pthread.h" 3
extern int pthread_spin_init (pthread_spinlock_t *__lock, int __pshared)
throw ();
extern int pthread_spin_destroy (pthread_spinlock_t *__lock) throw ();
extern int pthread_spin_lock (pthread_spinlock_t *__lock) throw ();
extern int pthread_spin_trylock (pthread_spinlock_t *__lock) throw ();
extern int pthread_spin_unlock (pthread_spinlock_t *__lock) throw ();
extern int pthread_barrier_init (pthread_barrier_t *__restrict __barrier,
__const pthread_barrierattr_t *__restrict
__attr, unsigned int __count) throw ();
extern int pthread_barrier_destroy (pthread_barrier_t *__barrier) throw ();
extern int pthread_barrierattr_init (pthread_barrierattr_t *__attr) throw ();
extern int pthread_barrierattr_destroy (pthread_barrierattr_t *__attr) throw ();
extern int pthread_barrierattr_getpshared (__const pthread_barrierattr_t *
__restrict __attr,
int *__restrict __pshared) throw ();
extern int pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr,
int __pshared) throw ();
extern int pthread_barrier_wait (pthread_barrier_t *__barrier) throw ();
# 551 "/usr/include/pthread.h" 3
extern int pthread_key_create (pthread_key_t *__key,
void (*__destr_function) (void *)) throw ();
extern int pthread_key_delete (pthread_key_t __key) throw ();
extern int pthread_setspecific (pthread_key_t __key,
__const void *__pointer) throw ();
extern void *pthread_getspecific (pthread_key_t __key) throw ();
# 571 "/usr/include/pthread.h" 3
extern int pthread_once (pthread_once_t *__once_control,
void (*__init_routine) (void)) throw ();
extern int pthread_setcancelstate (int __state, int *__oldstate) throw ();
extern int pthread_setcanceltype (int __type, int *__oldtype) throw ();
extern int pthread_cancel (pthread_t __thread) throw ();
extern void pthread_testcancel (void) throw ();
# 605 "/usr/include/pthread.h" 3
extern void _pthread_cleanup_push (struct _pthread_cleanup_buffer *__buffer,
void (*__routine) (void *),
void *__arg) throw ();
extern void _pthread_cleanup_pop (struct _pthread_cleanup_buffer *__buffer,
int __execute) throw ();
# 626 "/usr/include/pthread.h" 3
extern void _pthread_cleanup_push_defer (struct _pthread_cleanup_buffer *__buffer,
void (*__routine) (void *),
void *__arg) throw ();
# 637 "/usr/include/pthread.h" 3
extern void _pthread_cleanup_pop_restore (struct _pthread_cleanup_buffer *__buffer,
int __execute) throw ();
extern int pthread_getcpuclockid (pthread_t __thread_id,
clockid_t *__clock_id) throw ();
# 1 "/usr/include/bits/sigthread.h" 1 3
# 31 "/usr/include/bits/sigthread.h" 3
extern int pthread_sigmask (int __how,
__const __sigset_t *__restrict __newmask,
__sigset_t *__restrict __oldmask)throw ();
extern int pthread_kill (pthread_t __thread, int __signo) throw ();
# 651 "/usr/include/pthread.h" 2 3
# 666 "/usr/include/pthread.h" 3
extern int pthread_atfork (void (*__prepare) (void),
void (*__parent) (void),
void (*__child) (void)) throw ();
extern void pthread_kill_other_threads_np (void) throw ();
}
# 38 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/gthr-default.h" 2 3
typedef pthread_key_t __gthread_key_t;
typedef pthread_once_t __gthread_once_t;
typedef pthread_mutex_t __gthread_mutex_t;
#pragma weak pthread_once
#pragma weak pthread_key_create
#pragma weak pthread_key_delete
#pragma weak pthread_getspecific
#pragma weak pthread_setspecific
#pragma weak pthread_create
#pragma weak pthread_mutex_lock
#pragma weak pthread_mutex_trylock
#pragma weak pthread_mutex_unlock
# 80 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/gthr-default.h" 3
static void *__gthread_active_ptr = (void *) &pthread_create;
static inline int
__gthread_active_p (void)
{
return __gthread_active_ptr != 0;
}
# 429 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/gthr-default.h" 3
static inline int
__gthread_once (__gthread_once_t *once, void (*func) (void))
{
if (__gthread_active_p ())
return pthread_once (once, func);
else
return -1;
}
static inline int
__gthread_key_create (__gthread_key_t *key, void (*dtor) (void *))
{
return pthread_key_create (key, dtor);
}
static inline int
__gthread_key_dtor (__gthread_key_t key, void *ptr)
{
if (ptr)
return pthread_setspecific (key, 0);
else
return 0;
}
static inline int
__gthread_key_delete (__gthread_key_t key)
{
return pthread_key_delete (key);
}
static inline void *
__gthread_getspecific (__gthread_key_t key)
{
return pthread_getspecific (key);
}
static inline int
__gthread_setspecific (__gthread_key_t key, const void *ptr)
{
return pthread_setspecific (key, ptr);
}
static inline int
__gthread_mutex_lock (__gthread_mutex_t *mutex)
{
if (__gthread_active_p ())
return pthread_mutex_lock (mutex);
else
return 0;
}
static inline int
__gthread_mutex_trylock (__gthread_mutex_t *mutex)
{
if (__gthread_active_p ())
return pthread_mutex_trylock (mutex);
else
return 0;
}
static inline int
__gthread_mutex_unlock (__gthread_mutex_t *mutex)
{
if (__gthread_active_p ())
return pthread_mutex_unlock (mutex);
else
return 0;
}
# 99 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/gthr.h" 2 3
# 38 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/c++io.h" 2 3
namespace std
{
typedef long streamoff;
typedef ptrdiff_t streamsize;
typedef ptrdiff_t wstreamsize;
typedef fpos_t __c_streampos;
typedef __gthread_mutex_t __c_lock;
typedef FILE __c_file_type;
struct __ios_flags
{
typedef short __int_type;
static const __int_type _S_boolalpha = 0x0001;
static const __int_type _S_dec = 0x0002;
static const __int_type _S_fixed = 0x0004;
static const __int_type _S_hex = 0x0008;
static const __int_type _S_internal = 0x0010;
static const __int_type _S_left = 0x0020;
static const __int_type _S_oct = 0x0040;
static const __int_type _S_right = 0x0080;
static const __int_type _S_scientific = 0x0100;
static const __int_type _S_showbase = 0x0200;
static const __int_type _S_showpoint = 0x0400;
static const __int_type _S_showpos = 0x0800;
static const __int_type _S_skipws = 0x1000;
static const __int_type _S_unitbuf = 0x2000;
static const __int_type _S_uppercase = 0x4000;
static const __int_type _S_adjustfield = 0x0020 | 0x0080 | 0x0010;
static const __int_type _S_basefield = 0x0002 | 0x0040 | 0x0008;
static const __int_type _S_floatfield = 0x0100 | 0x0004;
static const __int_type _S_badbit = 0x01;
static const __int_type _S_eofbit = 0x02;
static const __int_type _S_failbit = 0x04;
static const __int_type _S_app = 0x01;
static const __int_type _S_ate = 0x02;
static const __int_type _S_bin = 0x04;
static const __int_type _S_in = 0x08;
static const __int_type _S_out = 0x10;
static const __int_type _S_trunc = 0x20;
};
}
# 40 "/opt/egcs/include/g++-v3/bits/fpos.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/std_cwchar.h" 1 3
# 37 "/opt/egcs/include/g++-v3/bits/std_cwchar.h" 3
# 1 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/c++config.h" 1 3
# 38 "/opt/egcs/include/g++-v3/bits/std_cwchar.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/std_cstddef.h" 1 3
# 39 "/opt/egcs/include/g++-v3/bits/std_cwchar.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/std_ctime.h" 1 3
# 37 "/opt/egcs/include/g++-v3/bits/std_ctime.h" 3
# 1 "/opt/egcs/include/g++-v3/bits/std_cstddef.h" 1 3
# 38 "/opt/egcs/include/g++-v3/bits/std_ctime.h" 2 3
# 40 "/opt/egcs/include/g++-v3/bits/std_ctime.h" 3
# 1 "/usr/include/time.h" 1 3
# 41 "/opt/egcs/include/g++-v3/bits/std_ctime.h" 2 3
# 53 "/opt/egcs/include/g++-v3/bits/std_ctime.h" 3
namespace std
{
using ::clock_t;
using ::time_t;
using ::tm;
using ::clock;
using ::difftime;
using ::mktime;
using ::time;
using ::asctime;
using ::ctime;
using ::gmtime;
using ::localtime;
using ::strftime;
}
# 40 "/opt/egcs/include/g++-v3/bits/std_cwchar.h" 2 3
# 43 "/opt/egcs/include/g++-v3/bits/std_cwchar.h" 3
# 1 "/usr/include/wchar.h" 1 3
# 28 "/usr/include/wchar.h" 3
# 1 "/usr/include/features.h" 1 3
# 29 "/usr/include/wchar.h" 2 3
# 37 "/usr/include/wchar.h" 3
# 1 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stdio.h" 1 3
# 38 "/usr/include/wchar.h" 2 3
# 1 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stdarg.h" 1 3
# 41 "/usr/include/wchar.h" 2 3
# 1 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stddef.h" 1 3
# 49 "/usr/include/wchar.h" 2 3
# 1 "/usr/include/bits/wchar.h" 1 3
# 51 "/usr/include/wchar.h" 2 3
# 85 "/usr/include/wchar.h" 3
typedef __mbstate_t mbstate_t;
# 105 "/usr/include/wchar.h" 3
struct tm;
extern "C" {
extern wchar_t *wcscpy (wchar_t *__restrict __dest,
__const wchar_t *__restrict __src) throw ();
extern wchar_t *wcsncpy (wchar_t *__restrict __dest,
__const wchar_t *__restrict __src, size_t __n)
throw ();
extern wchar_t *wcscat (wchar_t *__restrict __dest,
__const wchar_t *__restrict __src) throw ();
extern wchar_t *wcsncat (wchar_t *__restrict __dest,
__const wchar_t *__restrict __src, size_t __n)
throw ();
extern int wcscmp (__const wchar_t *__s1, __const wchar_t *__s2)
throw () __attribute__ ((__pure__));
extern int wcsncmp (__const wchar_t *__s1, __const wchar_t *__s2, size_t __n)
throw () __attribute__ ((__pure__));
extern int wcscasecmp (__const wchar_t *__s1, __const wchar_t *__s2) throw ();
extern int wcsncasecmp (__const wchar_t *__s1, __const wchar_t *__s2,
size_t __n) throw ();
# 1 "/usr/include/xlocale.h" 1 3
# 28 "/usr/include/xlocale.h" 3
typedef struct __locale_struct
{
struct locale_data *__locales[13];
const unsigned short int *__ctype_b;
const int *__ctype_tolower;
const int *__ctype_toupper;
} *__locale_t;
# 144 "/usr/include/wchar.h" 2 3
extern int __wcscasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2,
__locale_t __loc) throw ();
extern int __wcsncasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2,
size_t __n, __locale_t __loc) throw ();
extern int wcscoll (__const wchar_t *__s1, __const wchar_t *__s2) throw ();
extern size_t wcsxfrm (wchar_t *__restrict __s1,
__const wchar_t *__restrict __s2, size_t __n) throw ();
extern int __wcscoll_l (__const wchar_t *__s1, __const wchar_t *__s2,
__locale_t __loc) throw ();
extern size_t __wcsxfrm_l (wchar_t *__s1, __const wchar_t *__s2,
size_t __n, __locale_t __loc) throw ();
extern wchar_t *wcsdup (__const wchar_t *__s) throw () __attribute__ ((__malloc__));
extern wchar_t *wcschr (__const wchar_t *__wcs, wchar_t __wc)
throw () __attribute__ ((__pure__));
extern wchar_t *wcsrchr (__const wchar_t *__wcs, wchar_t __wc)
throw () __attribute__ ((__pure__));
extern wchar_t *wcschrnul (__const wchar_t *__s, wchar_t __wc)
throw () __attribute__ ((__pure__));
extern size_t wcscspn (__const wchar_t *__wcs, __const wchar_t *__reject)
throw () __attribute__ ((__pure__));
extern size_t wcsspn (__const wchar_t *__wcs, __const wchar_t *__accept)
throw () __attribute__ ((__pure__));
extern wchar_t *wcspbrk (__const wchar_t *__wcs, __const wchar_t *__accept)
throw () __attribute__ ((__pure__));
extern wchar_t *wcsstr (__const wchar_t *__haystack, __const wchar_t *__needle)
throw () __attribute__ ((__pure__));
extern wchar_t *wcswcs (__const wchar_t *__haystack, __const wchar_t *__needle)
throw () __attribute__ ((__pure__));
extern wchar_t *wcstok (wchar_t *__restrict __s,
__const wchar_t *__restrict __delim,
wchar_t **__restrict __ptr) throw ();
extern size_t wcslen (__const wchar_t *__s) throw () __attribute__ ((__pure__));
extern size_t wcsnlen (__const wchar_t *__s, size_t __maxlen)
throw () __attribute__ ((__pure__));
extern wchar_t *wmemchr (__const wchar_t *__s, wchar_t __c, size_t __n)
throw () __attribute__ ((__pure__));
extern int wmemcmp (__const wchar_t *__restrict __s1,
__const wchar_t *__restrict __s2, size_t __n)
throw () __attribute__ ((__pure__));
extern wchar_t *wmemcpy (wchar_t *__restrict __s1,
__const wchar_t *__restrict __s2, size_t __n) throw ();
extern wchar_t *wmemmove (wchar_t *__s1, __const wchar_t *__s2, size_t __n)
throw ();
extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) throw ();
extern wchar_t *wmempcpy (wchar_t *__restrict __s1,
__const wchar_t *__restrict __s2, size_t __n)
throw ();
extern wint_t btowc (int __c) throw ();
extern int wctob (wint_t __c) throw ();
extern int mbsinit (__const mbstate_t *__ps) throw ();
extern size_t mbrtowc (wchar_t *__restrict __pwc,
__const char *__restrict __s, size_t __n,
mbstate_t *__p) throw ();
extern size_t wcrtomb (char *__restrict __s, wchar_t __wc,
mbstate_t *__restrict __ps) throw ();
extern size_t __mbrlen (__const char *__restrict __s, size_t __n,
mbstate_t *__restrict __ps) throw ();
extern size_t mbrlen (__const char *__restrict __s, size_t __n,
mbstate_t *__restrict __ps) throw ();
# 298 "/usr/include/wchar.h" 3
extern size_t mbsrtowcs (wchar_t *__restrict __dst,
__const char **__restrict __src, size_t __len,
mbstate_t *__restrict __ps) throw ();
extern size_t wcsrtombs (char *__restrict __dst,
__const wchar_t **__restrict __src, size_t __len,
mbstate_t *__restrict __ps) throw ();
extern size_t mbsnrtowcs (wchar_t *__restrict __dst,
__const char **__restrict __src, size_t __nmc,
size_t __len, mbstate_t *__restrict __ps) throw ();
extern size_t wcsnrtombs (char *__restrict __dst,
__const wchar_t **__restrict __src,
size_t __nwc, size_t __len,
mbstate_t *__restrict __ps) throw ();
extern int wcwidth (wint_t __c) throw ();
extern int wcswidth (__const wchar_t *__s, size_t __n) throw ();
extern double wcstod (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr) throw ();
extern float wcstof (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr) throw ();
extern long double wcstold (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr) throw ();
extern long int wcstol (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, int __base) throw ();
extern unsigned long int wcstoul (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, int __base)
throw ();
__extension__
extern long long int wcstoq (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, int __base)
throw ();
__extension__
extern unsigned long long int wcstouq (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr,
int __base) throw ();
__extension__
extern long long int wcstoll (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, int __base)
throw ();
__extension__
extern unsigned long long int wcstoull (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr,
int __base) throw ();
# 407 "/usr/include/wchar.h" 3
# 1 "/usr/include/xlocale.h" 1 3
# 408 "/usr/include/wchar.h" 2 3
extern long int __wcstol_l (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, int __base,
__locale_t __loc) throw ();
extern unsigned long int __wcstoul_l (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr,
int __base, __locale_t __loc) throw ();
__extension__
extern long long int __wcstoll_l (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr,
int __base, __locale_t __loc) throw ();
__extension__
extern unsigned long long int __wcstoull_l (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr,
int __base, __locale_t __loc)
throw ();
extern double __wcstod_l (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, __locale_t __loc)
throw ();
extern float __wcstof_l (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, __locale_t __loc)
throw ();
extern long double __wcstold_l (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr,
__locale_t __loc) throw ();
extern double __wcstod_internal (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, int __group)
throw ();
extern float __wcstof_internal (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, int __group)
throw ();
extern long double __wcstold_internal (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr,
int __group) throw ();
extern long int __wcstol_internal (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr,
int __base, int __group) throw ();
extern unsigned long int __wcstoul_internal (__const wchar_t *__restrict __npt,
wchar_t **__restrict __endptr,
int __base, int __group) throw ();
__extension__
extern long long int __wcstoll_internal (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr,
int __base, int __group) throw ();
__extension__
extern unsigned long long int __wcstoull_internal (__const wchar_t *
__restrict __nptr,
wchar_t **
__restrict __endptr,
int __base,
int __group) throw ();
# 529 "/usr/include/wchar.h" 3
extern wchar_t *wcpcpy (wchar_t *__dest, __const wchar_t *__src) throw ();
extern wchar_t *wcpncpy (wchar_t *__dest, __const wchar_t *__src, size_t __n)
throw ();
extern int fwide (__FILE *__fp, int __mode) throw ();
extern int fwprintf (__FILE *__restrict __stream,
__const wchar_t *__restrict __format, ...)
throw () ;
extern int wprintf (__const wchar_t *__restrict __format, ...)
throw () ;
extern int swprintf (wchar_t *__restrict __s, size_t __n,
__const wchar_t *__restrict __format, ...)
throw () ;
extern int vfwprintf (__FILE *__restrict __s,
__const wchar_t *__restrict __format,
__gnuc_va_list __arg)
throw () ;
extern int vwprintf (__const wchar_t *__restrict __format,
__gnuc_va_list __arg)
throw () ;
extern int vswprintf (wchar_t *__restrict __s, size_t __n,
__const wchar_t *__restrict __format,
__gnuc_va_list __arg)
throw () ;
extern int fwscanf (__FILE *__restrict __stream,
__const wchar_t *__restrict __format, ...)
throw () ;
extern int wscanf (__const wchar_t *__restrict __format, ...)
throw () ;
extern int swscanf (__const wchar_t *__restrict __s,
__const wchar_t *__restrict __format, ...)
throw () ;
extern int vfwscanf (__FILE *__restrict __s,
__const wchar_t *__restrict __format,
__gnuc_va_list __arg)
throw () ;
extern int vwscanf (__const wchar_t *__restrict __format,
__gnuc_va_list __arg)
throw () ;
extern int vswscanf (__const wchar_t *__restrict __s,
__const wchar_t *__restrict __format,
__gnuc_va_list __arg)
throw () ;
extern wint_t fgetwc (__FILE *__stream);
extern wint_t getwc (__FILE *__stream);
extern wint_t getwchar (void);
extern wint_t fputwc (wchar_t __wc, __FILE *__stream);
extern wint_t putwc (wchar_t __wc, __FILE *__stream);
extern wint_t putwchar (wchar_t __wc);
extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n,
__FILE *__restrict __stream);
extern int fputws (__const wchar_t *__restrict __ws,
__FILE *__restrict __stream);
extern wint_t ungetwc (wint_t __wc, __FILE *__stream);
extern wint_t getwc_unlocked (__FILE *__stream);
extern wint_t getwchar_unlocked (void);
extern wint_t fgetwc_unlocked (__FILE *__stream);
extern wint_t fputwc_unlocked (wchar_t __wc, __FILE *__stream);
extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream);
extern wint_t putwchar_unlocked (wchar_t __wc);
extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n,
__FILE *__restrict __stream);
extern int fputws_unlocked (__const wchar_t *__restrict __ws,
__FILE *__restrict __stream);
extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize,
__const wchar_t *__restrict __format,
__const struct tm *__restrict __tp);
# 681 "/usr/include/wchar.h" 3
}
# 44 "/opt/egcs/include/g++-v3/bits/std_cwchar.h" 2 3
# 58 "/opt/egcs/include/g++-v3/bits/std_cwchar.h" 3
namespace std
{
using ::mbstate_t;
}
# 122 "/opt/egcs/include/g++-v3/bits/std_cwchar.h" 3
namespace std
{
using ::wint_t;
using ::btowc;
using ::fgetwc;
using ::fgetws;
using ::fputwc;
using ::fputws;
using ::fwide;
using ::fwprintf;
using ::fwscanf;
using ::getwc;
using ::getwchar;
using ::mbrlen;
using ::mbrtowc;
using ::mbsinit;
using ::mbsrtowcs;
using ::putwc;
using ::putwchar;
using ::swprintf;
using ::swscanf;
using ::ungetwc;
using ::vfwprintf;
using ::vfwscanf;
using ::vswprintf;
using ::vswscanf;
using ::vwprintf;
using ::vwscanf;
using ::wcrtomb;
using ::wcscat;
using ::wcscmp;
using ::wcscoll;
using ::wcscpy;
using ::wcscspn;
using ::wcsftime;
using ::wcslen;
using ::wcsncat;
using ::wcsncmp;
using ::wcsncpy;
using ::wcsrtombs;
using ::wcsspn;
using ::wcstod;
using ::wcstof;
using ::wcstok;
using ::wcstol;
using ::wcstoul;
using ::wcsxfrm;
using ::wctob;
using ::wmemcmp;
using ::wmemcpy;
using ::wmemmove;
using ::wmemset;
using ::wprintf;
using ::wscanf;
using ::wcschr;
inline wchar_t*
wcschr(wchar_t* __p, wchar_t __c)
{ return wcschr(const_cast<const wchar_t*>(__p), __c); }
using ::wcspbrk;
inline wchar_t*
wcspbrk(wchar_t* __s1, wchar_t* __s2)
{ return wcspbrk(const_cast<const wchar_t*>(__s1), __s2); }
using ::wcsrchr;
inline wchar_t*
wcsrchr(wchar_t* __p, wchar_t __c)
{ return wcsrchr(const_cast<const wchar_t*>(__p), __c); }
using ::wcsstr;
inline wchar_t*
wcsstr(wchar_t* __s1, wchar_t* __s2)
{ return wcsstr(const_cast<const wchar_t*>(__s1), __s2); }
using ::wmemchr;
inline wchar_t*
wmemchr(wchar_t* __p, wchar_t __c, size_t __n)
{ return wmemchr(const_cast<const wchar_t*>(__p), __c, __n); }
}
namespace __gnu_cxx
{
using ::wcstold;
using ::wcstoll;
using ::wcstoull;
}
namespace std
{
using __gnu_cxx::wcstold;
using __gnu_cxx::wcstoll;
using __gnu_cxx::wcstoull;
}
# 41 "/opt/egcs/include/g++-v3/bits/fpos.h" 2 3
namespace std
{
template<typename _StateT>
class fpos
{
public:
typedef _StateT __state_type;
private:
streamoff _M_off;
__state_type _M_st;
public:
__state_type
state() const { return _M_st; }
void
state(__state_type __st) { _M_st = __st; }
fpos(): _M_off(streamoff()), _M_st(__state_type()) { }
fpos(streamoff __off, __state_type __st = __state_type())
: _M_off(__off), _M_st(__st) { }
operator streamoff() const { return _M_off; }
fpos&
operator+=(streamoff __off) { _M_off += __off; return *this; }
fpos&
operator-=(streamoff __off) { _M_off -= __off; return *this; }
fpos
operator+(streamoff __off)
{
fpos __t(*this);
__t += __off;
return __t;
}
fpos
operator-(streamoff __off)
{
fpos __t(*this);
__t -= __off;
return __t;
}
bool
operator==(const fpos& __pos) const
{ return _M_off == __pos._M_off; }
bool
operator!=(const fpos& __pos) const
{ return _M_off != __pos._M_off; }
streamoff
_M_position() const { return _M_off; }
void
_M_position(streamoff __off) { _M_off = __off; }
};
typedef fpos<mbstate_t> streampos;
typedef fpos<mbstate_t> wstreampos;
}
# 42 "/opt/egcs/include/g++-v3/bits/std_iosfwd.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/functexcept.h" 1 3
# 34 "/opt/egcs/include/g++-v3/bits/functexcept.h" 3
# 1 "/opt/egcs/include/g++-v3/exception_defines.h" 1 3
# 35 "/opt/egcs/include/g++-v3/bits/functexcept.h" 2 3
namespace std
{
void
__throw_bad_exception(void);
void
__throw_bad_alloc(void);
void
__throw_bad_cast(void);
void
__throw_bad_typeid(void);
void
__throw_logic_error(const char* __s);
void
__throw_domain_error(const char* __s);
void
__throw_invalid_argument(const char* __s);
void
__throw_length_error(const char* __s);
void
__throw_out_of_range(const char* __s);
void
__throw_runtime_error(const char* __s);
void
__throw_range_error(const char* __s);
void
__throw_overflow_error(const char* __s);
void
__throw_underflow_error(const char* __s);
void
__throw_ios_failure(const char* __s);
}
# 43 "/opt/egcs/include/g++-v3/bits/std_iosfwd.h" 2 3
namespace std
{
template<typename _CharT, typename _Traits = char_traits<_CharT> >
class basic_ios;
template<typename _CharT, typename _Traits = char_traits<_CharT> >
class basic_streambuf;
template<typename _CharT, typename _Traits = char_traits<_CharT> >
class basic_istream;
template<typename _CharT, typename _Traits = char_traits<_CharT> >
class basic_ostream;
template<typename _CharT, typename _Traits = char_traits<_CharT> >
class basic_iostream;
template<typename _CharT, typename _Traits = char_traits<_CharT>,
typename _Alloc = allocator<_CharT> >
class basic_stringbuf;
template<typename _CharT, typename _Traits = char_traits<_CharT>,
typename _Alloc = allocator<_CharT> >
class basic_istringstream;
template<typename _CharT, typename _Traits = char_traits<_CharT>,
typename _Alloc = allocator<_CharT> >
class basic_ostringstream;
template<typename _CharT, typename _Traits = char_traits<_CharT>,
typename _Alloc = allocator<_CharT> >
class basic_stringstream;
template<typename _CharT, typename _Traits = char_traits<_CharT> >
class basic_filebuf;
template<typename _CharT, typename _Traits = char_traits<_CharT> >
class basic_ifstream;
template<typename _CharT, typename _Traits = char_traits<_CharT> >
class basic_ofstream;
template<typename _CharT, typename _Traits = char_traits<_CharT> >
class basic_fstream;
template<typename _CharT, typename _Traits = char_traits<_CharT> >
class istreambuf_iterator;
template<typename _CharT, typename _Traits = char_traits<_CharT> >
class ostreambuf_iterator;
class ios_base;
typedef basic_ios<char> ios;
typedef basic_streambuf<char> streambuf;
typedef basic_istream<char> istream;
typedef basic_ostream<char> ostream;
typedef basic_iostream<char> iostream;
typedef basic_stringbuf<char> stringbuf;
typedef basic_istringstream<char> istringstream;
typedef basic_ostringstream<char> ostringstream;
typedef basic_stringstream<char> stringstream;
typedef basic_filebuf<char> filebuf;
typedef basic_ifstream<char> ifstream;
typedef basic_ofstream<char> ofstream;
typedef basic_fstream<char> fstream;
typedef basic_ios<wchar_t> wios;
typedef basic_streambuf<wchar_t> wstreambuf;
typedef basic_istream<wchar_t> wistream;
typedef basic_ostream<wchar_t> wostream;
typedef basic_iostream<wchar_t> wiostream;
typedef basic_stringbuf<wchar_t> wstringbuf;
typedef basic_istringstream<wchar_t> wistringstream;
typedef basic_ostringstream<wchar_t> wostringstream;
typedef basic_stringstream<wchar_t> wstringstream;
typedef basic_filebuf<wchar_t> wfilebuf;
typedef basic_ifstream<wchar_t> wifstream;
typedef basic_ofstream<wchar_t> wofstream;
typedef basic_fstream<wchar_t> wfstream;
}
# 40 "/opt/egcs/include/g++-v3/bits/std_ios.h" 2 3
# 1 "/opt/egcs/include/g++-v3/exception" 1 3
# 39 "/opt/egcs/include/g++-v3/exception" 3
extern "C++" {
namespace std
{
class exception
{
public:
exception() throw() { }
virtual ~exception() throw();
virtual const char* what() const throw();
};
class bad_exception : public exception
{
public:
bad_exception() throw() { }
virtual ~bad_exception() throw();
};
typedef void (*terminate_handler) ();
typedef void (*unexpected_handler) ();
terminate_handler set_terminate(terminate_handler) throw();
void terminate() __attribute__ ((__noreturn__));
unexpected_handler set_unexpected(unexpected_handler) throw();
void unexpected() __attribute__ ((__noreturn__));
# 95 "/opt/egcs/include/g++-v3/exception" 3
bool uncaught_exception() throw();
}
}
# 41 "/opt/egcs/include/g++-v3/bits/std_ios.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/char_traits.h" 1 3
# 38 "/opt/egcs/include/g++-v3/bits/char_traits.h" 3
# 1 "/opt/egcs/include/g++-v3/bits/std_cstring.h" 1 3
# 37 "/opt/egcs/include/g++-v3/bits/std_cstring.h" 3
# 1 "/opt/egcs/include/g++-v3/bits/std_cstddef.h" 1 3
# 38 "/opt/egcs/include/g++-v3/bits/std_cstring.h" 2 3
# 40 "/opt/egcs/include/g++-v3/bits/std_cstring.h" 3
# 1 "/usr/include/string.h" 1 3
# 26 "/usr/include/string.h" 3
# 1 "/usr/include/features.h" 1 3
# 27 "/usr/include/string.h" 2 3
extern "C" {
# 1 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stddef.h" 1 3
# 34 "/usr/include/string.h" 2 3
extern void *memcpy (void *__restrict __dest,
__const void *__restrict __src, size_t __n) throw ();
extern void *memmove (void *__dest, __const void *__src, size_t __n)
throw ();
extern void *memccpy (void *__restrict __dest, __const void *__restrict __src,
int __c, size_t __n)
throw ();
extern void *memset (void *__s, int __c, size_t __n) throw ();
extern int memcmp (__const void *__s1, __const void *__s2, size_t __n)
throw () __attribute__ ((__pure__));
extern void *memchr (__const void *__s, int __c, size_t __n)
throw () __attribute__ ((__pure__));
extern void *rawmemchr (__const void *__s, int __c) throw () __attribute__ ((__pure__));
extern void *memrchr (__const void *__s, int __c, size_t __n)
throw () __attribute__ ((__pure__));
extern char *strcpy (char *__restrict __dest, __const char *__restrict __src)
throw ();
extern char *strncpy (char *__restrict __dest,
__const char *__restrict __src, size_t __n) throw ();
extern char *strcat (char *__restrict __dest, __const char *__restrict __src)
throw ();
extern char *strncat (char *__restrict __dest, __const char *__restrict __src,
size_t __n) throw ();
extern int strcmp (__const char *__s1, __const char *__s2)
throw () __attribute__ ((__pure__));
extern int strncmp (__const char *__s1, __const char *__s2, size_t __n)
throw () __attribute__ ((__pure__));
extern int strcoll (__const char *__s1, __const char *__s2)
throw () __attribute__ ((__pure__));
extern size_t strxfrm (char *__restrict __dest,
__const char *__restrict __src, size_t __n) throw ();
# 1 "/usr/include/xlocale.h" 1 3
# 109 "/usr/include/string.h" 2 3
extern int __strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l)
throw () __attribute__ ((__pure__));
extern size_t __strxfrm_l (char *__dest, __const char *__src, size_t __n,
__locale_t __l) throw ();
extern char *strdup (__const char *__s) throw () __attribute__ ((__malloc__));
extern char *strndup (__const char *__string, size_t __n)
throw () __attribute__ ((__malloc__));
# 155 "/usr/include/string.h" 3
extern char *strchr (__const char *__s, int __c) throw () __attribute__ ((__pure__));
extern char *strrchr (__const char *__s, int __c) throw () __attribute__ ((__pure__));
extern char *strchrnul (__const char *__s, int __c) throw () __attribute__ ((__pure__));
extern size_t strcspn (__const char *__s, __const char *__reject)
throw () __attribute__ ((__pure__));
extern size_t strspn (__const char *__s, __const char *__accept)
throw () __attribute__ ((__pure__));
extern char *strpbrk (__const char *__s, __const char *__accept)
throw () __attribute__ ((__pure__));
extern char *strstr (__const char *__haystack, __const char *__needle)
throw () __attribute__ ((__pure__));
extern char *strcasestr (__const char *__haystack, __const char *__needle)
throw () __attribute__ ((__pure__));
extern char *strtok (char *__restrict __s, __const char *__restrict __delim)
throw ();
extern char *__strtok_r (char *__restrict __s,
__const char *__restrict __delim,
char **__restrict __save_ptr) throw ();
extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim,
char **__restrict __save_ptr) throw ();
extern void *memmem (__const void *__haystack, size_t __haystacklen,
__const void *__needle, size_t __needlelen)
throw () __attribute__ ((__pure__));
extern void *__mempcpy (void *__restrict __dest,
__const void *__restrict __src, size_t __n) throw ();
extern void *mempcpy (void *__restrict __dest,
__const void *__restrict __src, size_t __n) throw ();
extern size_t strlen (__const char *__s) throw () __attribute__ ((__pure__));
extern size_t strnlen (__const char *__string, size_t __maxlen)
throw () __attribute__ ((__pure__));
extern char *strerror (int __errnum) throw ();
extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) throw ();
extern void __bzero (void *__s, size_t __n) throw ();
extern void bcopy (__const void *__src, void *__dest, size_t __n) throw ();
extern void bzero (void *__s, size_t __n) throw ();
extern int bcmp (__const void *__s1, __const void *__s2, size_t __n)
throw () __attribute__ ((__pure__));
extern char *index (__const char *__s, int __c) throw () __attribute__ ((__pure__));
extern char *rindex (__const char *__s, int __c) throw () __attribute__ ((__pure__));
extern int ffs (int __i) throw () __attribute__ ((const));
extern int ffsl (long int __l) throw () __attribute__ ((const));
__extension__ extern int ffsll (long long int __ll)
throw () __attribute__ ((const));
extern int strcasecmp (__const char *__s1, __const char *__s2)
throw () __attribute__ ((__pure__));
extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n)
throw () __attribute__ ((__pure__));
extern int __strcasecmp_l (__const char *__s1, __const char *__s2,
__locale_t __loc) throw () __attribute__ ((__pure__));
extern int __strncasecmp_l (__const char *__s1, __const char *__s2,
size_t __n, __locale_t __loc)
throw () __attribute__ ((__pure__));
extern char *strsep (char **__restrict __stringp,
__const char *__restrict __delim) throw ();
extern int strverscmp (__const char *__s1, __const char *__s2)
throw () __attribute__ ((__pure__));
extern char *strsignal (int __sig) throw ();
extern char *__stpcpy (char *__restrict __dest, __const char *__restrict __src)
throw ();
extern char *stpcpy (char *__restrict __dest, __const char *__restrict __src)
throw ();
extern char *__stpncpy (char *__restrict __dest,
__const char *__restrict __src, size_t __n) throw ();
extern char *stpncpy (char *__restrict __dest,
__const char *__restrict __src, size_t __n) throw ();
extern char *strfry (char *__string) throw ();
extern void *memfrob (void *__s, size_t __n) throw ();
extern char *basename (__const char *__filename) throw ();
# 363 "/usr/include/string.h" 3
}
# 41 "/opt/egcs/include/g++-v3/bits/std_cstring.h" 2 3
# 66 "/opt/egcs/include/g++-v3/bits/std_cstring.h" 3
namespace std
{
using ::memcpy;
using ::memmove;
using ::strcpy;
using ::strncpy;
using ::strcat;
using ::strncat;
using ::memcmp;
using ::strcmp;
using ::strcoll;
using ::strncmp;
using ::strxfrm;
using ::strcspn;
using ::strspn;
using ::strtok;
using ::memset;
using ::strerror;
using ::strlen;
using ::memchr;
inline void*
memchr(void* __p, int __c, size_t __n)
{ return memchr(const_cast<const void*>(__p), __c, __n); }
using ::strchr;
inline char*
strchr(char* __s1, int __n)
{ return __builtin_strchr(const_cast<const char*>(__s1), __n); }
using ::strpbrk;
inline char*
strpbrk(char* __s1, const char* __s2)
{ return __builtin_strpbrk(const_cast<const char*>(__s1), __s2); }
using ::strrchr;
inline char*
strrchr(char* __s1, int __n)
{ return __builtin_strrchr(const_cast<const char*>(__s1), __n); }
using ::strstr;
inline char*
strstr(char* __s1, const char* __s2)
{ return __builtin_strstr(const_cast<const char*>(__s1), __s2); }
}
# 40 "/opt/egcs/include/g++-v3/bits/char_traits.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/fpos.h" 1 3
# 41 "/opt/egcs/include/g++-v3/bits/char_traits.h" 2 3
namespace std
{
template<class _CharT>
struct char_traits
{
typedef _CharT char_type;
typedef unsigned long int_type;
typedef streampos pos_type;
typedef streamoff off_type;
typedef mbstate_t state_type;
static void
assign(char_type& __c1, const char_type& __c2)
{ __c1 = __c2; }
static bool
eq(const char_type& __c1, const char_type& __c2)
{ return __c1 == __c2; }
static bool
lt(const char_type& __c1, const char_type& __c2)
{ return __c1 < __c2; }
static int
compare(const char_type* __s1, const char_type* __s2, size_t __n)
{
for (size_t __i = 0; __i < __n; ++__i)
if (!eq(__s1[__i], __s2[__i]))
return lt(__s1[__i], __s2[__i]) ? -1 : 1;
return 0;
}
static size_t
length(const char_type* __s)
{
const char_type* __p = __s;
while (*__p) ++__p;
return (__p - __s);
}
static const char_type*
find(const char_type* __s, size_t __n, const char_type& __a)
{
for (const char_type* __p = __s; size_t(__p - __s) < __n; ++__p)
if (*__p == __a) return __p;
return 0;
}
static char_type*
move(char_type* __s1, const char_type* __s2, size_t __n)
{ return (char_type*) memmove(__s1, __s2, __n * sizeof(char_type)); }
static char_type*
copy(char_type* __s1, const char_type* __s2, size_t __n)
{ return (char_type*) memcpy(__s1, __s2, __n * sizeof(char_type)); }
static char_type*
assign(char_type* __s, size_t __n, char_type __a)
{
for (char_type* __p = __s; __p < __s + __n; ++__p)
assign(*__p, __a);
return __s;
}
static char_type
to_char_type(const int_type& __c)
{ return char_type(__c); }
static int_type
to_int_type(const char_type& __c) { return int_type(__c); }
static bool
eq_int_type(const int_type& __c1, const int_type& __c2)
{ return __c1 == __c2; }
static int_type
eof() { return static_cast<int_type>(-1); }
static int_type
not_eof(const int_type& __c)
{ return eq_int_type(__c, eof()) ? int_type(0) : __c; }
};
template<>
struct char_traits<char>
{
typedef char char_type;
typedef int int_type;
typedef streampos pos_type;
typedef streamoff off_type;
typedef mbstate_t state_type;
static void
assign(char_type& __c1, const char_type& __c2)
{ __c1 = __c2; }
static bool
eq(const char_type& __c1, const char_type& __c2)
{ return __c1 == __c2; }
static bool
lt(const char_type& __c1, const char_type& __c2)
{ return __c1 < __c2; }
static int
compare(const char_type* __s1, const char_type* __s2, size_t __n)
{ return memcmp(__s1, __s2, __n); }
static size_t
length(const char_type* __s)
{ return strlen(__s); }
static const char_type*
find(const char_type* __s, size_t __n, const char_type& __a)
{ return static_cast<const char_type*>(memchr(__s, __a, __n)); }
static char_type*
move(char_type* __s1, const char_type* __s2, size_t __n)
{ return static_cast<char_type*>(memmove(__s1, __s2, __n)); }
static char_type*
copy(char_type* __s1, const char_type* __s2, size_t __n)
{ return static_cast<char_type*>(memcpy(__s1, __s2, __n)); }
static char_type*
assign(char_type* __s, size_t __n, char_type __a)
{ return static_cast<char_type*>(memset(__s, __a, __n)); }
static char_type
to_char_type(const int_type& __c)
{ return static_cast<char_type>(__c); }
static int_type
to_int_type(const char_type& __c)
{ return static_cast<int_type>(static_cast<unsigned char>(__c)); }
static bool
eq_int_type(const int_type& __c1, const int_type& __c2)
{ return __c1 == __c2; }
static int_type
eof() { return static_cast<int_type>((-1)); }
static int_type
not_eof(const int_type& __c)
{ return (__c == eof()) ? 0 : __c; }
};
template<>
struct char_traits<wchar_t>
{
typedef wchar_t char_type;
typedef wint_t int_type;
typedef streamoff off_type;
typedef wstreampos pos_type;
typedef mbstate_t state_type;
static void
assign(char_type& __c1, const char_type& __c2)
{ __c1 = __c2; }
static bool
eq(const char_type& __c1, const char_type& __c2)
{ return __c1 == __c2; }
static bool
lt(const char_type& __c1, const char_type& __c2)
{ return __c1 < __c2; }
static int
compare(const char_type* __s1, const char_type* __s2, size_t __n)
{ return wmemcmp(__s1, __s2, __n); }
static size_t
length(const char_type* __s)
{ return wcslen(__s); }
static const char_type*
find(const char_type* __s, size_t __n, const char_type& __a)
{ return wmemchr(__s, __a, __n); }
static char_type*
move(char_type* __s1, const char_type* __s2, int_type __n)
{ return wmemmove(__s1, __s2, __n); }
static char_type*
copy(char_type* __s1, const char_type* __s2, size_t __n)
{ return wmemcpy(__s1, __s2, __n); }
static char_type*
assign(char_type* __s, size_t __n, char_type __a)
{ return wmemset(__s, __a, __n); }
static char_type
to_char_type(const int_type& __c) { return char_type(__c); }
static int_type
to_int_type(const char_type& __c) { return int_type(__c); }
static bool
eq_int_type(const int_type& __c1, const int_type& __c2)
{ return __c1 == __c2; }
static int_type
eof() { return static_cast<int_type>((0xffffffffu)); }
static int_type
not_eof(const int_type& __c)
{ return eq_int_type(__c, eof()) ? 0 : __c; }
};
template<typename _CharT, typename _Traits>
struct _Char_traits_match
{
_CharT _M_c;
_Char_traits_match(_CharT const& __c) : _M_c(__c) { }
bool
operator()(_CharT const& __a) { return _Traits::eq(_M_c, __a); }
};
}
# 42 "/opt/egcs/include/g++-v3/bits/std_ios.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/std_cstdio.h" 1 3
# 43 "/opt/egcs/include/g++-v3/bits/std_ios.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/localefwd.h" 1 3
# 38 "/opt/egcs/include/g++-v3/bits/localefwd.h" 3
# 1 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/c++config.h" 1 3
# 40 "/opt/egcs/include/g++-v3/bits/localefwd.h" 2 3
# 1 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/c++locale.h" 1 3
# 36 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/c++locale.h" 3
namespace std
{
typedef int* __c_locale;
}
# 41 "/opt/egcs/include/g++-v3/bits/localefwd.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/std_climits.h" 1 3
# 38 "/opt/egcs/include/g++-v3/bits/std_climits.h" 3
# 1 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/limits.h" 1 3
# 11 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/limits.h" 3
# 1 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/syslimits.h" 1 3
# 1 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/limits.h" 1 3
# 137 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/limits.h" 3
# 1 "/usr/include/limits.h" 1 3
# 26 "/usr/include/limits.h" 3
# 1 "/usr/include/features.h" 1 3
# 27 "/usr/include/limits.h" 2 3
# 144 "/usr/include/limits.h" 3
# 1 "/usr/include/bits/posix1_lim.h" 1 3
# 126 "/usr/include/bits/posix1_lim.h" 3
# 1 "/usr/include/bits/local_lim.h" 1 3
# 36 "/usr/include/bits/local_lim.h" 3
# 1 "/usr/include/linux/limits.h" 1 3
# 37 "/usr/include/bits/local_lim.h" 2 3
# 127 "/usr/include/bits/posix1_lim.h" 2 3
# 145 "/usr/include/limits.h" 2 3
# 1 "/usr/include/bits/posix2_lim.h" 1 3
# 149 "/usr/include/limits.h" 2 3
# 1 "/usr/include/bits/xopen_lim.h" 1 3
# 34 "/usr/include/bits/xopen_lim.h" 3
# 1 "/usr/include/bits/stdio_lim.h" 1 3
# 35 "/usr/include/bits/xopen_lim.h" 2 3
# 136 "/usr/include/bits/xopen_lim.h" 3
# 1 "/usr/include/bits/wordsize.h" 1 3
# 137 "/usr/include/bits/xopen_lim.h" 2 3
# 153 "/usr/include/limits.h" 2 3
# 138 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/limits.h" 2 3
# 8 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/syslimits.h" 2 3
# 12 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/limits.h" 2 3
# 39 "/opt/egcs/include/g++-v3/bits/std_climits.h" 2 3
# 42 "/opt/egcs/include/g++-v3/bits/localefwd.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/std_string.h" 1 3
# 38 "/opt/egcs/include/g++-v3/bits/std_string.h" 3
# 1 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/c++config.h" 1 3
# 40 "/opt/egcs/include/g++-v3/bits/std_string.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/stringfwd.h" 1 3
# 41 "/opt/egcs/include/g++-v3/bits/std_string.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/char_traits.h" 1 3
# 42 "/opt/egcs/include/g++-v3/bits/std_string.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/std_memory.h" 1 3
# 48 "/opt/egcs/include/g++-v3/bits/std_memory.h" 3
# 1 "/opt/egcs/include/g++-v3/bits/stl_algobase.h" 1 3
# 64 "/opt/egcs/include/g++-v3/bits/stl_algobase.h" 3
# 1 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/c++config.h" 1 3
# 65 "/opt/egcs/include/g++-v3/bits/stl_algobase.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/stl_pair.h" 1 3
# 64 "/opt/egcs/include/g++-v3/bits/stl_pair.h" 3
namespace std
{
template <class _T1, class _T2>
struct pair {
typedef _T1 first_type;
typedef _T2 second_type;
_T1 first;
_T2 second;
pair() : first(), second() {}
pair(const _T1& __a, const _T2& __b) : first(__a), second(__b) {}
template <class _U1, class _U2>
pair(const pair<_U1, _U2>& __p) : first(__p.first), second(__p.second) {}
};
template <class _T1, class _T2>
inline bool operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
{
return __x.first == __y.first && __x.second == __y.second;
}
template <class _T1, class _T2>
inline bool operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
{
return __x.first < __y.first ||
(!(__y.first < __x.first) && __x.second < __y.second);
}
template <class _T1, class _T2>
inline bool operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) {
return !(__x == __y);
}
template <class _T1, class _T2>
inline bool operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) {
return __y < __x;
}
template <class _T1, class _T2>
inline bool operator<=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) {
return !(__y < __x);
}
template <class _T1, class _T2>
inline bool operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) {
return !(__x < __y);
}
# 139 "/opt/egcs/include/g++-v3/bits/stl_pair.h" 3
template <class _T1, class _T2>
inline pair<_T1, _T2> make_pair(_T1 __x, _T2 __y)
{
return pair<_T1, _T2>(__x, __y);
}
}
# 67 "/opt/egcs/include/g++-v3/bits/stl_algobase.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/type_traits.h" 1 3
# 48 "/opt/egcs/include/g++-v3/bits/type_traits.h" 3
# 1 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/c++config.h" 1 3
# 50 "/opt/egcs/include/g++-v3/bits/type_traits.h" 2 3
# 86 "/opt/egcs/include/g++-v3/bits/type_traits.h" 3
template <bool _Truth> struct _Bool {};
typedef _Bool<true> __true_type;
typedef _Bool<false> __false_type;
template <class _Tp>
struct __type_traits {
typedef __true_type this_dummy_member_must_be_first;
# 110 "/opt/egcs/include/g++-v3/bits/type_traits.h" 3
typedef __false_type has_trivial_default_constructor;
typedef __false_type has_trivial_copy_constructor;
typedef __false_type has_trivial_assignment_operator;
typedef __false_type has_trivial_destructor;
typedef __false_type is_POD_type;
};
template<> struct __type_traits<bool> {
typedef __true_type has_trivial_default_constructor;
typedef __true_type has_trivial_copy_constructor;
typedef __true_type has_trivial_assignment_operator;
typedef __true_type has_trivial_destructor;
typedef __true_type is_POD_type;
};
template<> struct __type_traits<char> {
typedef __true_type has_trivial_default_constructor;
typedef __true_type has_trivial_copy_constructor;
typedef __true_type has_trivial_assignment_operator;
typedef __true_type has_trivial_destructor;
typedef __true_type is_POD_type;
};
template<> struct __type_traits<signed char> {
typedef __true_type has_trivial_default_constructor;
typedef __true_type has_trivial_copy_constructor;
typedef __true_type has_trivial_assignment_operator;
typedef __true_type has_trivial_destructor;
typedef __true_type is_POD_type;
};
template<> struct __type_traits<unsigned char> {
typedef __true_type has_trivial_default_constructor;
typedef __true_type has_trivial_copy_constructor;
typedef __true_type has_trivial_assignment_operator;
typedef __true_type has_trivial_destructor;
typedef __true_type is_POD_type;
};
template<> struct __type_traits<wchar_t> {
typedef __true_type has_trivial_default_constructor;
typedef __true_type has_trivial_copy_constructor;
typedef __true_type has_trivial_assignment_operator;
typedef __true_type has_trivial_destructor;
typedef __true_type is_POD_type;
};
template<> struct __type_traits<short> {
typedef __true_type has_trivial_default_constructor;
typedef __true_type has_trivial_copy_constructor;
typedef __true_type has_trivial_assignment_operator;
typedef __true_type has_trivial_destructor;
typedef __true_type is_POD_type;
};
template<> struct __type_traits<unsigned short> {
typedef __true_type has_trivial_default_constructor;
typedef __true_type has_trivial_copy_constructor;
typedef __true_type has_trivial_assignment_operator;
typedef __true_type has_trivial_destructor;
typedef __true_type is_POD_type;
};
template<> struct __type_traits<int> {
typedef __true_type has_trivial_default_constructor;
typedef __true_type has_trivial_copy_constructor;
typedef __true_type has_trivial_assignment_operator;
typedef __true_type has_trivial_destructor;
typedef __true_type is_POD_type;
};
template<> struct __type_traits<unsigned int> {
typedef __true_type has_trivial_default_constructor;
typedef __true_type has_trivial_copy_constructor;
typedef __true_type has_trivial_assignment_operator;
typedef __true_type has_trivial_destructor;
typedef __true_type is_POD_type;
};
template<> struct __type_traits<long> {
typedef __true_type has_trivial_default_constructor;
typedef __true_type has_trivial_copy_constructor;
typedef __true_type has_trivial_assignment_operator;
typedef __true_type has_trivial_destructor;
typedef __true_type is_POD_type;
};
template<> struct __type_traits<unsigned long> {
typedef __true_type has_trivial_default_constructor;
typedef __true_type has_trivial_copy_constructor;
typedef __true_type has_trivial_assignment_operator;
typedef __true_type has_trivial_destructor;
typedef __true_type is_POD_type;
};
template<> struct __type_traits<long long> {
typedef __true_type has_trivial_default_constructor;
typedef __true_type has_trivial_copy_constructor;
typedef __true_type has_trivial_assignment_operator;
typedef __true_type has_trivial_destructor;
typedef __true_type is_POD_type;
};
template<> struct __type_traits<unsigned long long> {
typedef __true_type has_trivial_default_constructor;
typedef __true_type has_trivial_copy_constructor;
typedef __true_type has_trivial_assignment_operator;
typedef __true_type has_trivial_destructor;
typedef __true_type is_POD_type;
};
template<> struct __type_traits<float> {
typedef __true_type has_trivial_default_constructor;
typedef __true_type has_trivial_copy_constructor;
typedef __true_type has_trivial_assignment_operator;
typedef __true_type has_trivial_destructor;
typedef __true_type is_POD_type;
};
template<> struct __type_traits<double> {
typedef __true_type has_trivial_default_constructor;
typedef __true_type has_trivial_copy_constructor;
typedef __true_type has_trivial_assignment_operator;
typedef __true_type has_trivial_destructor;
typedef __true_type is_POD_type;
};
template<> struct __type_traits<long double> {
typedef __true_type has_trivial_default_constructor;
typedef __true_type has_trivial_copy_constructor;
typedef __true_type has_trivial_assignment_operator;
typedef __true_type has_trivial_destructor;
typedef __true_type is_POD_type;
};
template <class _Tp>
struct __type_traits<_Tp*> {
typedef __true_type has_trivial_default_constructor;
typedef __true_type has_trivial_copy_constructor;
typedef __true_type has_trivial_assignment_operator;
typedef __true_type has_trivial_destructor;
typedef __true_type is_POD_type;
};
template <class _Tp> struct _Is_integer {
typedef __false_type _Integral;
};
template<> struct _Is_integer<bool> {
typedef __true_type _Integral;
};
template<> struct _Is_integer<char> {
typedef __true_type _Integral;
};
template<> struct _Is_integer<signed char> {
typedef __true_type _Integral;
};
template<> struct _Is_integer<unsigned char> {
typedef __true_type _Integral;
};
template<> struct _Is_integer<wchar_t> {
typedef __true_type _Integral;
};
template<> struct _Is_integer<short> {
typedef __true_type _Integral;
};
template<> struct _Is_integer<unsigned short> {
typedef __true_type _Integral;
};
template<> struct _Is_integer<int> {
typedef __true_type _Integral;
};
template<> struct _Is_integer<unsigned int> {
typedef __true_type _Integral;
};
template<> struct _Is_integer<long> {
typedef __true_type _Integral;
};
template<> struct _Is_integer<unsigned long> {
typedef __true_type _Integral;
};
template<> struct _Is_integer<long long> {
typedef __true_type _Integral;
};
template<> struct _Is_integer<unsigned long long> {
typedef __true_type _Integral;
};
template<typename _Tp> struct _Is_normal_iterator {
typedef __false_type _Normal;
};
namespace std {
template<typename _Iterator, typename _Container> class __normal_iterator;
};
template<typename _Iterator, typename _Container>
struct _Is_normal_iterator< std::__normal_iterator<_Iterator, _Container> > {
typedef __true_type _Normal;
};
# 70 "/opt/egcs/include/g++-v3/bits/stl_algobase.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/std_cstring.h" 1 3
# 72 "/opt/egcs/include/g++-v3/bits/stl_algobase.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/std_climits.h" 1 3
# 73 "/opt/egcs/include/g++-v3/bits/stl_algobase.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/std_cstdlib.h" 1 3
# 37 "/opt/egcs/include/g++-v3/bits/std_cstdlib.h" 3
# 1 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/c++config.h" 1 3
# 38 "/opt/egcs/include/g++-v3/bits/std_cstdlib.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/std_cstddef.h" 1 3
# 39 "/opt/egcs/include/g++-v3/bits/std_cstdlib.h" 2 3
# 41 "/opt/egcs/include/g++-v3/bits/std_cstdlib.h" 3
# 1 "/usr/include/stdlib.h" 1 3
# 25 "/usr/include/stdlib.h" 3
# 1 "/usr/include/features.h" 1 3
# 26 "/usr/include/stdlib.h" 2 3
# 1 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stddef.h" 1 3
# 34 "/usr/include/stdlib.h" 2 3
extern "C" {
# 1 "/usr/include/bits/waitflags.h" 1 3
# 43 "/usr/include/stdlib.h" 2 3
# 1 "/usr/include/bits/waitstatus.h" 1 3
# 63 "/usr/include/bits/waitstatus.h" 3
# 1 "/usr/include/endian.h" 1 3
# 22 "/usr/include/endian.h" 3
# 1 "/usr/include/features.h" 1 3
# 23 "/usr/include/endian.h" 2 3
# 37 "/usr/include/endian.h" 3
# 1 "/usr/include/bits/endian.h" 1 3
# 38 "/usr/include/endian.h" 2 3
# 64 "/usr/include/bits/waitstatus.h" 2 3
union wait
{
int w_status;
struct
{
unsigned int __w_termsig:7;
unsigned int __w_coredump:1;
unsigned int __w_retcode:8;
unsigned int:16;
} __wait_terminated;
struct
{
unsigned int __w_stopval:8;
unsigned int __w_stopsig:8;
unsigned int:16;
} __wait_stopped;
};
# 44 "/usr/include/stdlib.h" 2 3
# 94 "/usr/include/stdlib.h" 3
typedef struct
{
int quot;
int rem;
} div_t;
typedef struct
{
long int quot;
long int rem;
} ldiv_t;
__extension__ typedef struct
{
long long int quot;
long long int rem;
} lldiv_t;
# 133 "/usr/include/stdlib.h" 3
extern size_t __ctype_get_mb_cur_max (void) throw ();
extern double atof (__const char *__nptr) throw () __attribute__ ((__pure__));
extern int atoi (__const char *__nptr) throw () __attribute__ ((__pure__));
extern long int atol (__const char *__nptr) throw () __attribute__ ((__pure__));
__extension__ extern long long int atoll (__const char *__nptr)
throw () __attribute__ ((__pure__));
extern double strtod (__const char *__restrict __nptr,
char **__restrict __endptr) throw ();
extern float strtof (__const char *__restrict __nptr,
char **__restrict __endptr) throw ();
extern long double strtold (__const char *__restrict __nptr,
char **__restrict __endptr) throw ();
extern long int strtol (__const char *__restrict __nptr,
char **__restrict __endptr, int __base) throw ();
extern unsigned long int strtoul (__const char *__restrict __nptr,
char **__restrict __endptr, int __base)
throw ();
__extension__
extern long long int strtoq (__const char *__restrict __nptr,
char **__restrict __endptr, int __base) throw ();
__extension__
extern unsigned long long int strtouq (__const char *__restrict __nptr,
char **__restrict __endptr, int __base)
throw ();
__extension__
extern long long int strtoll (__const char *__restrict __nptr,
char **__restrict __endptr, int __base) throw ();
__extension__
extern unsigned long long int strtoull (__const char *__restrict __nptr,
char **__restrict __endptr, int __base)
throw ();
# 211 "/usr/include/stdlib.h" 3
# 1 "/usr/include/xlocale.h" 1 3
# 212 "/usr/include/stdlib.h" 2 3
extern long int __strtol_l (__const char *__restrict __nptr,
char **__restrict __endptr, int __base,
__locale_t __loc) throw ();
extern unsigned long int __strtoul_l (__const char *__restrict __nptr,
char **__restrict __endptr,
int __base, __locale_t __loc) throw ();
__extension__
extern long long int __strtoll_l (__const char *__restrict __nptr,
char **__restrict __endptr, int __base,
__locale_t __loc) throw ();
__extension__
extern unsigned long long int __strtoull_l (__const char *__restrict __nptr,
char **__restrict __endptr,
int __base, __locale_t __loc)
throw ();
extern double __strtod_l (__const char *__restrict __nptr,
char **__restrict __endptr, __locale_t __loc)
throw ();
extern float __strtof_l (__const char *__restrict __nptr,
char **__restrict __endptr, __locale_t __loc) throw ();
extern long double __strtold_l (__const char *__restrict __nptr,
char **__restrict __endptr,
__locale_t __loc) throw ();
extern double __strtod_internal (__const char *__restrict __nptr,
char **__restrict __endptr, int __group)
throw ();
extern float __strtof_internal (__const char *__restrict __nptr,
char **__restrict __endptr, int __group)
throw ();
extern long double __strtold_internal (__const char *__restrict __nptr,
char **__restrict __endptr,
int __group) throw ();
extern long int __strtol_internal (__const char *__restrict __nptr,
char **__restrict __endptr,
int __base, int __group) throw ();
extern unsigned long int __strtoul_internal (__const char *__restrict __nptr,
char **__restrict __endptr,
int __base, int __group) throw ();
__extension__
extern long long int __strtoll_internal (__const char *__restrict __nptr,
char **__restrict __endptr,
int __base, int __group) throw ();
__extension__
extern unsigned long long int __strtoull_internal (__const char *
__restrict __nptr,
char **__restrict __endptr,
int __base, int __group)
throw ();
# 385 "/usr/include/stdlib.h" 3
extern char *l64a (long int __n) throw ();
extern long int a64l (__const char *__s) throw () __attribute__ ((__pure__));
# 1 "/usr/include/sys/types.h" 1 3
# 26 "/usr/include/sys/types.h" 3
# 1 "/usr/include/features.h" 1 3
# 27 "/usr/include/sys/types.h" 2 3
extern "C" {
# 1 "/usr/include/bits/types.h" 1 3
# 31 "/usr/include/sys/types.h" 2 3
typedef __u_char u_char;
typedef __u_short u_short;
typedef __u_int u_int;
typedef __u_long u_long;
typedef __quad_t quad_t;
typedef __u_quad_t u_quad_t;
typedef __fsid_t fsid_t;
typedef __loff_t loff_t;
typedef __ino_t ino_t;
typedef __ino64_t ino64_t;
typedef __dev_t dev_t;
typedef __gid_t gid_t;
typedef __mode_t mode_t;
typedef __nlink_t nlink_t;
typedef __uid_t uid_t;
typedef __off_t off_t;
typedef __off64_t off64_t;
# 101 "/usr/include/sys/types.h" 3
typedef __id_t id_t;
typedef __ssize_t ssize_t;
typedef __daddr_t daddr_t;
typedef __caddr_t caddr_t;
typedef __key_t key_t;
# 126 "/usr/include/sys/types.h" 3
# 1 "/usr/include/time.h" 1 3
# 127 "/usr/include/sys/types.h" 2 3
typedef __useconds_t useconds_t;
typedef __suseconds_t suseconds_t;
# 1 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stddef.h" 1 3
# 141 "/usr/include/sys/types.h" 2 3
typedef unsigned long int ulong;
typedef unsigned short int ushort;
typedef unsigned int uint;
# 184 "/usr/include/sys/types.h" 3
typedef int int8_t __attribute__ ((__mode__ (__QI__)));
typedef int int16_t __attribute__ ((__mode__ (__HI__)));
typedef int int32_t __attribute__ ((__mode__ (__SI__)));
typedef int int64_t __attribute__ ((__mode__ (__DI__)));
typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__)));
typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__)));
typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__)));
typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__)));
typedef int register_t __attribute__ ((__mode__ (__word__)));
# 206 "/usr/include/sys/types.h" 3
# 1 "/usr/include/endian.h" 1 3
# 207 "/usr/include/sys/types.h" 2 3
# 1 "/usr/include/sys/select.h" 1 3
# 25 "/usr/include/sys/select.h" 3
# 1 "/usr/include/features.h" 1 3
# 26 "/usr/include/sys/select.h" 2 3
# 1 "/usr/include/bits/types.h" 1 3
# 29 "/usr/include/sys/select.h" 2 3
# 1 "/usr/include/bits/select.h" 1 3
# 32 "/usr/include/sys/select.h" 2 3
# 1 "/usr/include/bits/sigset.h" 1 3
# 35 "/usr/include/sys/select.h" 2 3
# 43 "/usr/include/sys/select.h" 3
# 1 "/usr/include/time.h" 1 3
# 44 "/usr/include/sys/select.h" 2 3
# 1 "/usr/include/bits/time.h" 1 3
# 63 "/usr/include/bits/time.h" 3
# 1 "/usr/include/bits/types.h" 1 3
# 64 "/usr/include/bits/time.h" 2 3
struct timeval
{
__time_t tv_sec;
__suseconds_t tv_usec;
};
# 46 "/usr/include/sys/select.h" 2 3
typedef long int __fd_mask;
typedef struct
{
__fd_mask fds_bits[1024 / (8 * sizeof (__fd_mask))];
} fd_set;
typedef __fd_mask fd_mask;
# 89 "/usr/include/sys/select.h" 3
extern "C" {
extern int select (int __nfds, fd_set *__restrict __readfds,
fd_set *__restrict __writefds,
fd_set *__restrict __exceptfds,
struct timeval *__restrict __timeout) throw ();
extern int pselect (int __nfds, fd_set *__restrict __readfds,
fd_set *__restrict __writefds,
fd_set *__restrict __exceptfds,
const struct timespec *__restrict __timeout,
const __sigset_t *__restrict __sigmask) throw ();
}
# 210 "/usr/include/sys/types.h" 2 3
# 1 "/usr/include/sys/sysmacros.h" 1 3
# 213 "/usr/include/sys/types.h" 2 3
typedef __blksize_t blksize_t;
typedef __blkcnt_t blkcnt_t;
typedef __fsblkcnt_t fsblkcnt_t;
typedef __fsfilcnt_t fsfilcnt_t;
# 251 "/usr/include/sys/types.h" 3
typedef __blkcnt64_t blkcnt64_t;
typedef __fsblkcnt64_t fsblkcnt64_t;
typedef __fsfilcnt64_t fsfilcnt64_t;
}
# 392 "/usr/include/stdlib.h" 2 3
extern long int random (void) throw ();
extern void srandom (unsigned int __seed) throw ();
extern char *initstate (unsigned int __seed, char *__statebuf,
size_t __statelen) throw ();
extern char *setstate (char *__statebuf) throw ();
struct random_data
{
int32_t *fptr;
int32_t *rptr;
int32_t *state;
int rand_type;
int rand_deg;
int rand_sep;
int32_t *end_ptr;
};
extern int random_r (struct random_data *__restrict __buf,
int32_t *__restrict __result) throw ();
extern int srandom_r (unsigned int __seed, struct random_data *__buf) throw ();
extern int initstate_r (unsigned int __seed, char *__restrict __statebuf,
size_t __statelen,
struct random_data *__restrict __buf) throw ();
extern int setstate_r (char *__restrict __statebuf,
struct random_data *__restrict __buf) throw ();
extern int rand (void) throw ();
extern void srand (unsigned int __seed) throw ();
extern int rand_r (unsigned int *__seed) throw ();
extern double drand48 (void) throw ();
extern double erand48 (unsigned short int __xsubi[3]) throw ();
extern long int lrand48 (void) throw ();
extern long int nrand48 (unsigned short int __xsubi[3]) throw ();
extern long int mrand48 (void) throw ();
extern long int jrand48 (unsigned short int __xsubi[3]) throw ();
extern void srand48 (long int __seedval) throw ();
extern unsigned short int *seed48 (unsigned short int __seed16v[3]) throw ();
extern void lcong48 (unsigned short int __param[7]) throw ();
struct drand48_data
{
unsigned short int __x[3];
unsigned short int __old_x[3];
unsigned short int __c;
unsigned short int __init;
unsigned long long int __a;
};
extern int drand48_r (struct drand48_data *__restrict __buffer,
double *__restrict __result) throw ();
extern int erand48_r (unsigned short int __xsubi[3],
struct drand48_data *__restrict __buffer,
double *__restrict __result) throw ();
extern int lrand48_r (struct drand48_data *__restrict __buffer,
long int *__restrict __result) throw ();
extern int nrand48_r (unsigned short int __xsubi[3],
struct drand48_data *__restrict __buffer,
long int *__restrict __result) throw ();
extern int mrand48_r (struct drand48_data *__restrict __buffer,
long int *__restrict __result) throw ();
extern int jrand48_r (unsigned short int __xsubi[3],
struct drand48_data *__restrict __buffer,
long int *__restrict __result) throw ();
extern int srand48_r (long int __seedval, struct drand48_data *__buffer)
throw ();
extern int seed48_r (unsigned short int __seed16v[3],
struct drand48_data *__buffer) throw ();
extern int lcong48_r (unsigned short int __param[7],
struct drand48_data *__buffer) throw ();
# 528 "/usr/include/stdlib.h" 3
extern void *malloc (size_t __size) throw () __attribute__ ((__malloc__));
extern void *calloc (size_t __nmemb, size_t __size)
throw () __attribute__ ((__malloc__));
extern void *realloc (void *__ptr, size_t __size) throw () __attribute__ ((__malloc__));
extern void free (void *__ptr) throw ();
extern void cfree (void *__ptr) throw ();
# 1 "/usr/include/alloca.h" 1 3
# 22 "/usr/include/alloca.h" 3
# 1 "/usr/include/features.h" 1 3
# 23 "/usr/include/alloca.h" 2 3
# 1 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stddef.h" 1 3
# 26 "/usr/include/alloca.h" 2 3
extern "C" {
extern void *alloca (size_t __size) throw ();
}
# 548 "/usr/include/stdlib.h" 2 3
extern void *valloc (size_t __size) throw () __attribute__ ((__malloc__));
extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size)
throw () __attribute__ ((__malloc__));
extern void abort (void) throw () __attribute__ ((__noreturn__));
extern int atexit (void (*__func) (void)) throw ();
extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg)
throw ();
extern void exit (int __status) throw () __attribute__ ((__noreturn__));
extern void _Exit (int __status) throw () __attribute__ ((__noreturn__));
extern char *getenv (__const char *__name) throw ();
extern char *__secure_getenv (__const char *__name) throw ();
extern int putenv (char *__string) throw ();
extern int setenv (__const char *__name, __const char *__value, int __replace)
throw ();
extern int unsetenv (__const char *__name) throw ();
extern int clearenv (void) throw ();
# 624 "/usr/include/stdlib.h" 3
extern char *mktemp (char *__template) throw ();
extern int mkstemp (char *__template) throw ();
# 641 "/usr/include/stdlib.h" 3
extern int mkstemp64 (char *__template) throw ();
# 651 "/usr/include/stdlib.h" 3
extern char *mkdtemp (char *__template) throw ();
extern int system (__const char *__command) throw ();
extern char *canonicalize_file_name (__const char *__name) throw ();
# 673 "/usr/include/stdlib.h" 3
extern char *realpath (__const char *__restrict __name,
char *__restrict __resolved) throw ();
typedef int (*__compar_fn_t) (__const void *, __const void *);
typedef __compar_fn_t comparison_fn_t;
extern void *bsearch (__const void *__key, __const void *__base,
size_t __nmemb, size_t __size, __compar_fn_t __compar);
extern void qsort (void *__base, size_t __nmemb, size_t __size,
__compar_fn_t __compar);
extern int abs (int __x) throw () __attribute__ ((__const__));
extern long int labs (long int __x) throw () __attribute__ ((__const__));
__extension__ extern long long int llabs (long long int __x)
throw () __attribute__ ((__const__));
extern div_t div (int __numer, int __denom)
throw () __attribute__ ((__const__));
extern ldiv_t ldiv (long int __numer, long int __denom)
throw () __attribute__ ((__const__));
__extension__ extern lldiv_t lldiv (long long int __numer,
long long int __denom)
throw () __attribute__ ((__const__));
# 729 "/usr/include/stdlib.h" 3
extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt,
int *__restrict __sign) throw ();
extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt,
int *__restrict __sign) throw ();
extern char *gcvt (double __value, int __ndigit, char *__buf) throw ();
extern char *qecvt (long double __value, int __ndigit,
int *__restrict __decpt, int *__restrict __sign) throw ();
extern char *qfcvt (long double __value, int __ndigit,
int *__restrict __decpt, int *__restrict __sign) throw ();
extern char *qgcvt (long double __value, int __ndigit, char *__buf) throw ();
extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt,
int *__restrict __sign, char *__restrict __buf,
size_t __len) throw ();
extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt,
int *__restrict __sign, char *__restrict __buf,
size_t __len) throw ();
extern int qecvt_r (long double __value, int __ndigit,
int *__restrict __decpt, int *__restrict __sign,
char *__restrict __buf, size_t __len) throw ();
extern int qfcvt_r (long double __value, int __ndigit,
int *__restrict __decpt, int *__restrict __sign,
char *__restrict __buf, size_t __len) throw ();
extern int mblen (__const char *__s, size_t __n) throw ();
extern int mbtowc (wchar_t *__restrict __pwc,
__const char *__restrict __s, size_t __n) throw ();
extern int wctomb (char *__s, wchar_t __wchar) throw ();
extern size_t mbstowcs (wchar_t *__restrict __pwcs,
__const char *__restrict __s, size_t __n) throw ();
extern size_t wcstombs (char *__restrict __s,
__const wchar_t *__restrict __pwcs, size_t __n)
throw ();
extern int rpmatch (__const char *__response) throw ();
# 809 "/usr/include/stdlib.h" 3
extern int getsubopt (char **__restrict __optionp,
char *__const *__restrict __tokens,
char **__restrict __valuep) throw ();
extern void setkey (__const char *__key) throw ();
extern int posix_openpt (int __oflag) throw ();
extern int grantpt (int __fd) throw ();
extern int unlockpt (int __fd) throw ();
extern char *ptsname (int __fd) throw ();
extern int ptsname_r (int __fd, char *__buf, size_t __buflen) throw ();
extern int getpt (void) throw ();
extern int getloadavg (double __loadavg[], int __nelem) throw ();
}
# 42 "/opt/egcs/include/g++-v3/bits/std_cstdlib.h" 2 3
# 73 "/opt/egcs/include/g++-v3/bits/std_cstdlib.h" 3
namespace std
{
using ::div_t;
using ::ldiv_t;
using ::abort;
using ::abs;
using ::atexit;
using ::atof;
using ::atoi;
using ::atol;
using ::bsearch;
using ::calloc;
using ::div;
using ::exit;
using ::free;
using ::getenv;
using ::labs;
using ::ldiv;
using ::malloc;
using ::mblen;
using ::mbstowcs;
using ::mbtowc;
using ::qsort;
using ::rand;
using ::realloc;
using ::srand;
using ::strtod;
using ::strtol;
using ::strtoul;
using ::system;
using ::wcstombs;
using ::wctomb;
inline long
abs(long __i) { return labs(__i); }
inline ldiv_t
div(long __i, long __j) { return ldiv(__i, __j); }
}
# 125 "/opt/egcs/include/g++-v3/bits/std_cstdlib.h" 3
namespace __gnu_cxx
{
using ::lldiv_t;
using ::_Exit;
inline long long
abs(long long __x) { return __x >= 0 ? __x : -__x; }
inline long long
llabs(long long __x) { return __x >= 0 ? __x : -__x; }
inline lldiv_t
div(long long __n, long long __d)
{ lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; }
inline lldiv_t
lldiv(long long __n, long long __d)
{ lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; }
using ::atoll;
using ::strtof;
using ::strtoll;
using ::strtoull;
using ::strtold;
}
namespace std
{
using __gnu_cxx::lldiv_t;
using __gnu_cxx::_Exit;
using __gnu_cxx::abs;
using __gnu_cxx::llabs;
using __gnu_cxx::div;
using __gnu_cxx::lldiv;
using __gnu_cxx::atoll;
using __gnu_cxx::strtof;
using __gnu_cxx::strtoll;
using __gnu_cxx::strtoull;
using __gnu_cxx::strtold;
}
# 74 "/opt/egcs/include/g++-v3/bits/stl_algobase.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/std_cstddef.h" 1 3
# 75 "/opt/egcs/include/g++-v3/bits/stl_algobase.h" 2 3
# 1 "/opt/egcs/include/g++-v3/new" 1 3
# 40 "/opt/egcs/include/g++-v3/new" 3
# 1 "/opt/egcs/include/g++-v3/cstddef" 1 3
# 41 "/opt/egcs/include/g++-v3/new" 2 3
# 1 "/opt/egcs/include/g++-v3/exception" 1 3
# 42 "/opt/egcs/include/g++-v3/new" 2 3
extern "C++" {
namespace std
{
class bad_alloc : public exception
{
public:
bad_alloc() throw() { }
virtual ~bad_alloc() throw();
};
struct nothrow_t { };
extern const nothrow_t nothrow;
typedef void (*new_handler)();
new_handler set_new_handler(new_handler);
}
# 76 "/opt/egcs/include/g++-v3/new" 3
void *operator new(std::size_t) throw (std::bad_alloc);
void *operator new[](std::size_t) throw (std::bad_alloc);
void operator delete(void *) throw();
void operator delete[](void *) throw();
void *operator new(std::size_t, const std::nothrow_t&) throw();
void *operator new[](std::size_t, const std::nothrow_t&) throw();
void operator delete(void *, const std::nothrow_t&) throw();
void operator delete[](void *, const std::nothrow_t&) throw();
inline void *operator new(std::size_t, void *place) throw() { return place; }
inline void *operator new[](std::size_t, void *place) throw() { return place; }
}
# 76 "/opt/egcs/include/g++-v3/bits/stl_algobase.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/std_iosfwd.h" 1 3
# 78 "/opt/egcs/include/g++-v3/bits/stl_algobase.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/stl_iterator_base_types.h" 1 3
# 69 "/opt/egcs/include/g++-v3/bits/stl_iterator_base_types.h" 3
# 1 "/opt/egcs/include/g++-v3/bits/std_cstddef.h" 1 3
# 71 "/opt/egcs/include/g++-v3/bits/stl_iterator_base_types.h" 2 3
namespace std
{
struct input_iterator_tag {};
struct output_iterator_tag {};
struct forward_iterator_tag : public input_iterator_tag {};
struct bidirectional_iterator_tag : public forward_iterator_tag {};
struct random_access_iterator_tag : public bidirectional_iterator_tag {};
template <class _Tp, class _Distance> struct input_iterator {
typedef input_iterator_tag iterator_category;
typedef _Tp value_type;
typedef _Distance difference_type;
typedef _Tp* pointer;
typedef _Tp& reference;
};
struct output_iterator {
typedef output_iterator_tag iterator_category;
typedef void value_type;
typedef void difference_type;
typedef void pointer;
typedef void reference;
};
template <class _Tp, class _Distance> struct forward_iterator {
typedef forward_iterator_tag iterator_category;
typedef _Tp value_type;
typedef _Distance difference_type;
typedef _Tp* pointer;
typedef _Tp& reference;
};
template <class _Tp, class _Distance> struct bidirectional_iterator {
typedef bidirectional_iterator_tag iterator_category;
typedef _Tp value_type;
typedef _Distance difference_type;
typedef _Tp* pointer;
typedef _Tp& reference;
};
template <class _Tp, class _Distance> struct random_access_iterator {
typedef random_access_iterator_tag iterator_category;
typedef _Tp value_type;
typedef _Distance difference_type;
typedef _Tp* pointer;
typedef _Tp& reference;
};
template <class _Category, class _Tp, class _Distance = ptrdiff_t,
class _Pointer = _Tp*, class _Reference = _Tp&>
struct iterator {
typedef _Category iterator_category;
typedef _Tp value_type;
typedef _Distance difference_type;
typedef _Pointer pointer;
typedef _Reference reference;
};
template <class _Iterator>
struct iterator_traits {
typedef typename _Iterator::iterator_category iterator_category;
typedef typename _Iterator::value_type value_type;
typedef typename _Iterator::difference_type difference_type;
typedef typename _Iterator::pointer pointer;
typedef typename _Iterator::reference reference;
};
template <class _Tp>
struct iterator_traits<_Tp*> {
typedef random_access_iterator_tag iterator_category;
typedef _Tp value_type;
typedef ptrdiff_t difference_type;
typedef _Tp* pointer;
typedef _Tp& reference;
};
template <class _Tp>
struct iterator_traits<const _Tp*> {
typedef random_access_iterator_tag iterator_category;
typedef _Tp value_type;
typedef ptrdiff_t difference_type;
typedef const _Tp* pointer;
typedef const _Tp& reference;
};
# 172 "/opt/egcs/include/g++-v3/bits/stl_iterator_base_types.h" 3
template <class _Iter>
inline typename iterator_traits<_Iter>::iterator_category
__iterator_category(const _Iter&)
{
typedef typename iterator_traits<_Iter>::iterator_category _Category;
return _Category();
}
template <class _Iter>
inline typename iterator_traits<_Iter>::difference_type*
__distance_type(const _Iter&)
{
return static_cast<typename iterator_traits<_Iter>::difference_type*>(0);
}
template <class _Iter>
inline typename iterator_traits<_Iter>::value_type*
__value_type(const _Iter&)
{
return static_cast<typename iterator_traits<_Iter>::value_type*>(0);
}
template <class _Iter>
inline typename iterator_traits<_Iter>::iterator_category
iterator_category(const _Iter& __i) { return __iterator_category(__i); }
template <class _Iter>
inline typename iterator_traits<_Iter>::difference_type*
distance_type(const _Iter& __i) { return __distance_type(__i); }
template <class _Iter>
inline typename iterator_traits<_Iter>::value_type*
value_type(const _Iter& __i) { return __value_type(__i); }
}
# 79 "/opt/egcs/include/g++-v3/bits/stl_algobase.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/stl_iterator_base_funcs.h" 1 3
# 69 "/opt/egcs/include/g++-v3/bits/stl_iterator_base_funcs.h" 3
# 1 "/opt/egcs/include/g++-v3/bits/concept_check.h" 1 3
# 34 "/opt/egcs/include/g++-v3/bits/concept_check.h" 3
# 1 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/c++config.h" 1 3
# 36 "/opt/egcs/include/g++-v3/bits/concept_check.h" 2 3
# 70 "/opt/egcs/include/g++-v3/bits/stl_iterator_base_funcs.h" 2 3
namespace std
{
template <class _InputIterator, class _Distance>
inline void __distance(_InputIterator __first, _InputIterator __last,
_Distance& __n, input_iterator_tag)
{
;
while (__first != __last) { ++__first; ++__n; }
}
template <class _RandomAccessIterator, class _Distance>
inline void __distance(_RandomAccessIterator __first,
_RandomAccessIterator __last,
_Distance& __n, random_access_iterator_tag)
{
;
__n += __last - __first;
}
template <class _InputIterator, class _Distance>
inline void distance(_InputIterator __first,
_InputIterator __last, _Distance& __n)
{
__distance(__first, __last, __n, iterator_category(__first));
}
template <class _InputIterator>
inline typename iterator_traits<_InputIterator>::difference_type
__distance(_InputIterator __first, _InputIterator __last, input_iterator_tag)
{
;
typename iterator_traits<_InputIterator>::difference_type __n = 0;
while (__first != __last) {
++__first; ++__n;
}
return __n;
}
template <class _RandomAccessIterator>
inline typename iterator_traits<_RandomAccessIterator>::difference_type
__distance(_RandomAccessIterator __first, _RandomAccessIterator __last,
random_access_iterator_tag)
{
;
return __last - __first;
}
template <class _InputIterator>
inline typename iterator_traits<_InputIterator>::difference_type
distance(_InputIterator __first, _InputIterator __last)
{
typedef typename iterator_traits<_InputIterator>::iterator_category
_Category;
return __distance(__first, __last, _Category());
}
template <class _InputIter, class _Distance>
inline void __advance(_InputIter& __i, _Distance __n, input_iterator_tag)
{
;
while (__n--) ++__i;
}
template <class _BidirectionalIterator, class _Distance>
inline void __advance(_BidirectionalIterator& __i, _Distance __n,
bidirectional_iterator_tag)
{
;
if (__n > 0)
while (__n--) ++__i;
else
while (__n++) --__i;
}
template <class _RandomAccessIterator, class _Distance>
inline void __advance(_RandomAccessIterator& __i, _Distance __n,
random_access_iterator_tag)
{
;
__i += __n;
}
template <class _InputIterator, class _Distance>
inline void advance(_InputIterator& __i, _Distance __n)
{
__advance(__i, __n, iterator_category(__i));
}
}
# 80 "/opt/egcs/include/g++-v3/bits/stl_algobase.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/stl_iterator.h" 1 3
# 63 "/opt/egcs/include/g++-v3/bits/stl_iterator.h" 3
namespace std
{
template<typename _Iterator>
class reverse_iterator
: public iterator<typename iterator_traits<_Iterator>::iterator_category,
typename iterator_traits<_Iterator>::value_type,
typename iterator_traits<_Iterator>::difference_type,
typename iterator_traits<_Iterator>::pointer,
typename iterator_traits<_Iterator>::reference>
{
protected:
_Iterator _M_current;
public:
typedef _Iterator iterator_type;
typedef typename iterator_traits<_Iterator>::difference_type
difference_type;
typedef typename iterator_traits<_Iterator>::reference reference;
typedef typename iterator_traits<_Iterator>::pointer pointer;
public:
reverse_iterator() {}
explicit
reverse_iterator(iterator_type __x) : _M_current(__x) {}
reverse_iterator(const reverse_iterator& __x)
: _M_current(__x._M_current) { }
template<typename _Iter>
reverse_iterator(const reverse_iterator<_Iter>& __x)
: _M_current(__x.base()) {}
iterator_type
base() const { return _M_current; }
reference
operator*() const
{
_Iterator __tmp = _M_current;
return *--__tmp;
}
pointer
operator->() const { return &(operator*()); }
reverse_iterator&
operator++()
{
--_M_current;
return *this;
}
reverse_iterator
operator++(int)
{
reverse_iterator __tmp = *this;
--_M_current;
return __tmp;
}
reverse_iterator&
operator--()
{
++_M_current;
return *this;
}
reverse_iterator operator--(int)
{
reverse_iterator __tmp = *this;
++_M_current;
return __tmp;
}
reverse_iterator
operator+(difference_type __n) const
{ return reverse_iterator(_M_current - __n); }
reverse_iterator&
operator+=(difference_type __n)
{
_M_current -= __n;
return *this;
}
reverse_iterator
operator-(difference_type __n) const
{ return reverse_iterator(_M_current + __n); }
reverse_iterator&
operator-=(difference_type __n)
{
_M_current += __n;
return *this;
}
reference
operator[](difference_type __n) const { return *(*this + __n); }
};
template<typename _Iterator>
inline bool
operator==(const reverse_iterator<_Iterator>& __x,
const reverse_iterator<_Iterator>& __y)
{ return __x.base() == __y.base(); }
template<typename _Iterator>
inline bool
operator<(const reverse_iterator<_Iterator>& __x,
const reverse_iterator<_Iterator>& __y)
{ return __y.base() < __x.base(); }
template<typename _Iterator>
inline bool
operator!=(const reverse_iterator<_Iterator>& __x,
const reverse_iterator<_Iterator>& __y)
{ return !(__x == __y); }
template<typename _Iterator>
inline bool
operator>(const reverse_iterator<_Iterator>& __x,
const reverse_iterator<_Iterator>& __y)
{ return __y < __x; }
template<typename _Iterator>
inline bool
operator<=(const reverse_iterator<_Iterator>& __x,
const reverse_iterator<_Iterator>& __y)
{ return !(__y < __x); }
template<typename _Iterator>
inline bool
operator>=(const reverse_iterator<_Iterator>& __x,
const reverse_iterator<_Iterator>& __y)
{ return !(__x < __y); }
template<typename _Iterator>
inline typename reverse_iterator<_Iterator>::difference_type
operator-(const reverse_iterator<_Iterator>& __x,
const reverse_iterator<_Iterator>& __y)
{ return __y.base() - __x.base(); }
template<typename _Iterator>
inline reverse_iterator<_Iterator>
operator+(typename reverse_iterator<_Iterator>::difference_type __n,
const reverse_iterator<_Iterator>& __x)
{ return reverse_iterator<_Iterator>(__x.base() - __n); }
template<typename _Container>
class back_insert_iterator
: public iterator<output_iterator_tag, void, void, void, void>
{
protected:
_Container* container;
public:
typedef _Container container_type;
explicit
back_insert_iterator(_Container& __x) : container(&__x) {}
back_insert_iterator&
operator=(const typename _Container::const_reference __value)
{
container->push_back(__value);
return *this;
}
back_insert_iterator&
operator*() { return *this; }
back_insert_iterator&
operator++() { return *this; }
back_insert_iterator
operator++(int) { return *this; }
};
template<typename _Container>
inline back_insert_iterator<_Container>
back_inserter(_Container& __x)
{ return back_insert_iterator<_Container>(__x); }
template<typename _Container>
class front_insert_iterator
: public iterator<output_iterator_tag, void, void, void, void>
{
protected:
_Container* container;
public:
typedef _Container container_type;
explicit front_insert_iterator(_Container& __x) : container(&__x) {}
front_insert_iterator&
operator=(const typename _Container::const_reference __value)
{
container->push_front(__value);
return *this;
}
front_insert_iterator&
operator*() { return *this; }
front_insert_iterator&
operator++() { return *this; }
front_insert_iterator
operator++(int) { return *this; }
};
template<typename _Container>
inline front_insert_iterator<_Container> front_inserter(_Container& __x)
{ return front_insert_iterator<_Container>(__x); }
template<typename _Container>
class insert_iterator
: public iterator<output_iterator_tag, void, void, void, void>
{
protected:
_Container* container;
typename _Container::iterator iter;
public:
typedef _Container container_type;
insert_iterator(_Container& __x, typename _Container::iterator __i)
: container(&__x), iter(__i) {}
insert_iterator&
operator=(const typename _Container::const_reference __value)
{
iter = container->insert(iter, __value);
++iter;
return *this;
}
insert_iterator&
operator*() { return *this; }
insert_iterator&
operator++() { return *this; }
insert_iterator&
operator++(int) { return *this; }
};
template<typename _Container, typename _Iterator>
inline
insert_iterator<_Container> inserter(_Container& __x, _Iterator __i)
{
typedef typename _Container::iterator __iter;
return insert_iterator<_Container>(__x, __iter(__i));
}
# 329 "/opt/egcs/include/g++-v3/bits/stl_iterator.h" 3
template<typename _Iterator, typename _Container>
class __normal_iterator
: public iterator<typename iterator_traits<_Iterator>::iterator_category,
typename iterator_traits<_Iterator>::value_type,
typename iterator_traits<_Iterator>::difference_type,
typename iterator_traits<_Iterator>::pointer,
typename iterator_traits<_Iterator>::reference>
{
protected:
_Iterator _M_current;
public:
typedef typename iterator_traits<_Iterator>::difference_type
difference_type;
typedef typename iterator_traits<_Iterator>::reference reference;
typedef typename iterator_traits<_Iterator>::pointer pointer;
__normal_iterator() : _M_current(_Iterator()) { }
explicit
__normal_iterator(const _Iterator& __i) : _M_current(__i) { }
template<typename _Iter>
inline __normal_iterator(const __normal_iterator<_Iter, _Container>& __i)
: _M_current(__i.base()) { }
reference
operator*() const { return *_M_current; }
pointer
operator->() const { return _M_current; }
__normal_iterator&
operator++() { ++_M_current; return *this; }
__normal_iterator
operator++(int) { return __normal_iterator(_M_current++); }
__normal_iterator&
operator--() { --_M_current; return *this; }
__normal_iterator
operator--(int) { return __normal_iterator(_M_current--); }
reference
operator[](const difference_type& __n) const
{ return _M_current[__n]; }
__normal_iterator&
operator+=(const difference_type& __n)
{ _M_current += __n; return *this; }
__normal_iterator
operator+(const difference_type& __n) const
{ return __normal_iterator(_M_current + __n); }
__normal_iterator&
operator-=(const difference_type& __n)
{ _M_current -= __n; return *this; }
__normal_iterator
operator-(const difference_type& __n) const
{ return __normal_iterator(_M_current - __n); }
difference_type
operator-(const __normal_iterator& __i) const
{ return _M_current - __i._M_current; }
const _Iterator&
base() const { return _M_current; }
};
template<typename _IteratorL, typename _IteratorR, typename _Container>
inline bool
operator==(const __normal_iterator<_IteratorL, _Container>& __lhs,
const __normal_iterator<_IteratorR, _Container>& __rhs)
{ return __lhs.base() == __rhs.base(); }
template<typename _IteratorL, typename _IteratorR, typename _Container>
inline bool
operator!=(const __normal_iterator<_IteratorL, _Container>& __lhs,
const __normal_iterator<_IteratorR, _Container>& __rhs)
{ return !(__lhs == __rhs); }
template<typename _IteratorL, typename _IteratorR, typename _Container>
inline bool
operator<(const __normal_iterator<_IteratorL, _Container>& __lhs,
const __normal_iterator<_IteratorR, _Container>& __rhs)
{ return __lhs.base() < __rhs.base(); }
template<typename _IteratorL, typename _IteratorR, typename _Container>
inline bool
operator>(const __normal_iterator<_IteratorL, _Container>& __lhs,
const __normal_iterator<_IteratorR, _Container>& __rhs)
{ return __rhs < __lhs; }
template<typename _IteratorL, typename _IteratorR, typename _Container>
inline bool
operator<=(const __normal_iterator<_IteratorL, _Container>& __lhs,
const __normal_iterator<_IteratorR, _Container>& __rhs)
{ return !(__rhs < __lhs); }
template<typename _IteratorL, typename _IteratorR, typename _Container>
inline bool
operator>=(const __normal_iterator<_IteratorL, _Container>& __lhs,
const __normal_iterator<_IteratorR, _Container>& __rhs)
{ return !(__lhs < __rhs); }
template<typename _Iterator, typename _Container>
inline __normal_iterator<_Iterator, _Container>
operator+(__normal_iterator<_Iterator, _Container>::difference_type __n,
const __normal_iterator<_Iterator, _Container>& __i)
{ return __normal_iterator<_Iterator, _Container>(__i.base() + __n); }
}
# 81 "/opt/egcs/include/g++-v3/bits/stl_algobase.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/concept_check.h" 1 3
# 82 "/opt/egcs/include/g++-v3/bits/stl_algobase.h" 2 3
namespace std
{
template <class _ForwardIter1, class _ForwardIter2, class _Tp>
inline void __iter_swap(_ForwardIter1 __a, _ForwardIter2 __b, _Tp*)
{
_Tp __tmp = *__a;
*__a = *__b;
*__b = __tmp;
}
template <class _ForwardIter1, class _ForwardIter2>
inline void iter_swap(_ForwardIter1 __a, _ForwardIter2 __b)
{
;
;
;
;
__iter_swap(__a, __b, __value_type(__a));
}
template <class _Tp>
inline void swap(_Tp& __a, _Tp& __b)
{
;
_Tp __tmp = __a;
__a = __b;
__b = __tmp;
}
template <class _Tp>
inline const _Tp& min(const _Tp& __a, const _Tp& __b) {
;
if (__b < __a) return __b; return __a;
}
template <class _Tp>
inline const _Tp& max(const _Tp& __a, const _Tp& __b) {
;
if (__a < __b) return __b; return __a;
}
template <class _Tp, class _Compare>
inline const _Tp& min(const _Tp& __a, const _Tp& __b, _Compare __comp) {
if (__comp(__b, __a)) return __b; return __a;
}
template <class _Tp, class _Compare>
inline const _Tp& max(const _Tp& __a, const _Tp& __b, _Compare __comp) {
if (__comp(__a, __b)) return __b; return __a;
}
# 166 "/opt/egcs/include/g++-v3/bits/stl_algobase.h" 3
template <class _InputIter, class _OutputIter, class _Distance>
inline _OutputIter __copy(_InputIter __first, _InputIter __last,
_OutputIter __result,
input_iterator_tag, _Distance*)
{
for ( ; __first != __last; ++__result, ++__first)
*__result = *__first;
return __result;
}
template <class _RandomAccessIter, class _OutputIter, class _Distance>
inline _OutputIter
__copy(_RandomAccessIter __first, _RandomAccessIter __last,
_OutputIter __result, random_access_iterator_tag, _Distance*)
{
for (_Distance __n = __last - __first; __n > 0; --__n) {
*__result = *__first;
++__first;
++__result;
}
return __result;
}
template <class _Tp>
inline _Tp*
__copy_trivial(const _Tp* __first, const _Tp* __last, _Tp* __result)
{
memmove(__result, __first, sizeof(_Tp) * (__last - __first));
return __result + (__last - __first);
}
template <class _InputIter, class _OutputIter>
inline _OutputIter __copy_aux2(_InputIter __first, _InputIter __last,
_OutputIter __result, __false_type)
{
return __copy(__first, __last, __result,
__iterator_category(__first),
__distance_type(__first));
}
template <class _InputIter, class _OutputIter>
inline _OutputIter __copy_aux2(_InputIter __first, _InputIter __last,
_OutputIter __result, __true_type)
{
return __copy(__first, __last, __result,
__iterator_category(__first),
__distance_type(__first));
}
template <class _Tp>
inline _Tp* __copy_aux2(_Tp* __first, _Tp* __last, _Tp* __result,
__true_type)
{
return __copy_trivial(__first, __last, __result);
}
template <class _Tp>
inline _Tp* __copy_aux2(const _Tp* __first, const _Tp* __last, _Tp* __result,
__true_type)
{
return __copy_trivial(__first, __last, __result);
}
template <class _InputIter, class _OutputIter, class _Tp>
inline _OutputIter __copy_aux(_InputIter __first, _InputIter __last,
_OutputIter __result, _Tp*)
{
typedef typename __type_traits<_Tp>::has_trivial_assignment_operator
_Trivial;
return __copy_aux2(__first, __last, __result, _Trivial());
}
template<typename _InputIter, typename _OutputIter>
inline _OutputIter __copy_ni2(_InputIter __first, _InputIter __last,
_OutputIter __result, __true_type)
{
return _OutputIter(__copy_aux(__first, __last, __result.base(),
__value_type(__first)));
}
template<typename _InputIter, typename _OutputIter>
inline _OutputIter __copy_ni2(_InputIter __first, _InputIter __last,
_OutputIter __result, __false_type)
{
return __copy_aux(__first, __last, __result, __value_type(__first));
}
template<typename _InputIter, typename _OutputIter>
inline _OutputIter __copy_ni1(_InputIter __first, _InputIter __last,
_OutputIter __result, __true_type)
{
typedef typename _Is_normal_iterator<_OutputIter>::_Normal __Normal;
return __copy_ni2(__first.base(), __last.base(), __result, __Normal());
}
template<typename _InputIter, typename _OutputIter>
inline _OutputIter __copy_ni1(_InputIter __first, _InputIter __last,
_OutputIter __result, __false_type)
{
typedef typename _Is_normal_iterator<_OutputIter>::_Normal __Normal;
return __copy_ni2(__first, __last, __result, __Normal());
}
template <class _InputIter, class _OutputIter>
inline _OutputIter copy(_InputIter __first, _InputIter __last,
_OutputIter __result)
{
;
;
typedef typename _Is_normal_iterator<_InputIter>::_Normal __Normal;
return __copy_ni1(__first, __last, __result, __Normal());
}
template <class _BidirectionalIter1, class _BidirectionalIter2,
class _Distance>
inline _BidirectionalIter2 __copy_backward(_BidirectionalIter1 __first,
_BidirectionalIter1 __last,
_BidirectionalIter2 __result,
bidirectional_iterator_tag,
_Distance*)
{
while (__first != __last)
*--__result = *--__last;
return __result;
}
template <class _RandomAccessIter, class _BidirectionalIter, class _Distance>
inline _BidirectionalIter __copy_backward(_RandomAccessIter __first,
_RandomAccessIter __last,
_BidirectionalIter __result,
random_access_iterator_tag,
_Distance*)
{
for (_Distance __n = __last - __first; __n > 0; --__n)
*--__result = *--__last;
return __result;
}
template <class _BidirectionalIter1, class _BidirectionalIter2,
class _BoolType>
struct __copy_backward_dispatch
{
typedef typename iterator_traits<_BidirectionalIter1>::iterator_category
_Cat;
typedef typename iterator_traits<_BidirectionalIter1>::difference_type
_Distance;
static _BidirectionalIter2 copy(_BidirectionalIter1 __first,
_BidirectionalIter1 __last,
_BidirectionalIter2 __result) {
return __copy_backward(__first, __last, __result, _Cat(), (_Distance*) 0);
}
};
template <class _Tp>
struct __copy_backward_dispatch<_Tp*, _Tp*, __true_type>
{
static _Tp* copy(const _Tp* __first, const _Tp* __last, _Tp* __result) {
const ptrdiff_t _Num = __last - __first;
memmove(__result - _Num, __first, sizeof(_Tp) * _Num);
return __result - _Num;
}
};
template <class _Tp>
struct __copy_backward_dispatch<const _Tp*, _Tp*, __true_type>
{
static _Tp* copy(const _Tp* __first, const _Tp* __last, _Tp* __result) {
return __copy_backward_dispatch<_Tp*, _Tp*, __true_type>
::copy(__first, __last, __result);
}
};
template <class _BI1, class _BI2>
inline _BI2 __copy_backward_aux(_BI1 __first, _BI1 __last, _BI2 __result) {
typedef typename __type_traits<typename iterator_traits<_BI2>::value_type>
::has_trivial_assignment_operator
_Trivial;
return __copy_backward_dispatch<_BI1, _BI2, _Trivial>
::copy(__first, __last, __result);
}
template <typename _BI1, typename _BI2>
inline _BI2 __copy_backward_output_normal_iterator(_BI1 __first, _BI1 __last,
_BI2 __result, __true_type) {
return _BI2(__copy_backward_aux(__first, __last, __result.base()));
}
template <typename _BI1, typename _BI2>
inline _BI2 __copy_backward_output_normal_iterator(_BI1 __first, _BI1 __last,
_BI2 __result, __false_type){
return __copy_backward_aux(__first, __last, __result);
}
template <typename _BI1, typename _BI2>
inline _BI2 __copy_backward_input_normal_iterator(_BI1 __first, _BI1 __last,
_BI2 __result, __true_type) {
typedef typename _Is_normal_iterator<_BI2>::_Normal __Normal;
return __copy_backward_output_normal_iterator(__first.base(), __last.base(),
__result, __Normal());
}
template <typename _BI1, typename _BI2>
inline _BI2 __copy_backward_input_normal_iterator(_BI1 __first, _BI1 __last,
_BI2 __result, __false_type) {
typedef typename _Is_normal_iterator<_BI2>::_Normal __Normal;
return __copy_backward_output_normal_iterator(__first, __last, __result,
__Normal());
}
template <typename _BI1, typename _BI2>
inline _BI2 copy_backward(_BI1 __first, _BI1 __last, _BI2 __result)
{
;
;
;
typedef typename _Is_normal_iterator<_BI1>::_Normal __Normal;
return __copy_backward_input_normal_iterator(__first, __last, __result,
__Normal());
}
template <class _InputIter, class _Size, class _OutputIter>
pair<_InputIter, _OutputIter> __copy_n(_InputIter __first, _Size __count,
_OutputIter __result,
input_iterator_tag) {
for ( ; __count > 0; --__count) {
*__result = *__first;
++__first;
++__result;
}
return pair<_InputIter, _OutputIter>(__first, __result);
}
template <class _RAIter, class _Size, class _OutputIter>
inline pair<_RAIter, _OutputIter>
__copy_n(_RAIter __first, _Size __count,
_OutputIter __result,
random_access_iterator_tag) {
_RAIter __last = __first + __count;
return pair<_RAIter, _OutputIter>(__last, copy(__first, __last, __result));
}
template <class _InputIter, class _Size, class _OutputIter>
inline pair<_InputIter, _OutputIter>
__copy_n(_InputIter __first, _Size __count, _OutputIter __result) {
return __copy_n(__first, __count, __result,
__iterator_category(__first));
}
template <class _InputIter, class _Size, class _OutputIter>
inline pair<_InputIter, _OutputIter>
copy_n(_InputIter __first, _Size __count, _OutputIter __result)
{
;
;
return __copy_n(__first, __count, __result);
}
template <class _ForwardIter, class _Tp>
void fill(_ForwardIter __first, _ForwardIter __last, const _Tp& __value)
{
;
for ( ; __first != __last; ++__first)
*__first = __value;
}
template <class _OutputIter, class _Size, class _Tp>
_OutputIter fill_n(_OutputIter __first, _Size __n, const _Tp& __value)
{
;
for ( ; __n > 0; --__n, ++__first)
*__first = __value;
return __first;
}
inline void fill(unsigned char* __first, unsigned char* __last,
const unsigned char& __c)
{
unsigned char __tmp = __c;
memset(__first, __tmp, __last - __first);
}
inline void fill(signed char* __first, signed char* __last,
const signed char& __c)
{
signed char __tmp = __c;
memset(__first, static_cast<unsigned char>(__tmp), __last - __first);
}
inline void fill(char* __first, char* __last, const char& __c)
{
char __tmp = __c;
memset(__first, static_cast<unsigned char>(__tmp), __last - __first);
}
template <class _Size>
inline unsigned char* fill_n(unsigned char* __first, _Size __n,
const unsigned char& __c)
{
fill(__first, __first + __n, __c);
return __first + __n;
}
template <class _Size>
inline signed char* fill_n(char* __first, _Size __n,
const signed char& __c)
{
fill(__first, __first + __n, __c);
return __first + __n;
}
template <class _Size>
inline char* fill_n(char* __first, _Size __n, const char& __c)
{
fill(__first, __first + __n, __c);
return __first + __n;
}
template <class _InputIter1, class _InputIter2>
pair<_InputIter1, _InputIter2> mismatch(_InputIter1 __first1,
_InputIter1 __last1,
_InputIter2 __first2)
{
;
;
;
;
while (__first1 != __last1 && *__first1 == *__first2) {
++__first1;
++__first2;
}
return pair<_InputIter1, _InputIter2>(__first1, __first2);
}
template <class _InputIter1, class _InputIter2, class _BinaryPredicate>
pair<_InputIter1, _InputIter2> mismatch(_InputIter1 __first1,
_InputIter1 __last1,
_InputIter2 __first2,
_BinaryPredicate __binary_pred)
{
;
;
while (__first1 != __last1 && __binary_pred(*__first1, *__first2)) {
++__first1;
++__first2;
}
return pair<_InputIter1, _InputIter2>(__first1, __first2);
}
template <class _InputIter1, class _InputIter2>
inline bool equal(_InputIter1 __first1, _InputIter1 __last1,
_InputIter2 __first2)
{
;
;
;
for ( ; __first1 != __last1; ++__first1, ++__first2)
if (!(*__first1 == *__first2))
return false;
return true;
}
template <class _InputIter1, class _InputIter2, class _BinaryPredicate>
inline bool equal(_InputIter1 __first1, _InputIter1 __last1,
_InputIter2 __first2, _BinaryPredicate __binary_pred)
{
;
;
for ( ; __first1 != __last1; ++__first1, ++__first2)
if (!__binary_pred(*__first1, *__first2))
return false;
return true;
}
template <class _InputIter1, class _InputIter2>
bool lexicographical_compare(_InputIter1 __first1, _InputIter1 __last1,
_InputIter2 __first2, _InputIter2 __last2)
{
;
;
;
;
for ( ; __first1 != __last1 && __first2 != __last2
; ++__first1, ++__first2) {
if (*__first1 < *__first2)
return true;
if (*__first2 < *__first1)
return false;
}
return __first1 == __last1 && __first2 != __last2;
}
template <class _InputIter1, class _InputIter2, class _Compare>
bool lexicographical_compare(_InputIter1 __first1, _InputIter1 __last1,
_InputIter2 __first2, _InputIter2 __last2,
_Compare __comp)
{
;
;
for ( ; __first1 != __last1 && __first2 != __last2
; ++__first1, ++__first2) {
if (__comp(*__first1, *__first2))
return true;
if (__comp(*__first2, *__first1))
return false;
}
return __first1 == __last1 && __first2 != __last2;
}
inline bool
lexicographical_compare(const unsigned char* __first1,
const unsigned char* __last1,
const unsigned char* __first2,
const unsigned char* __last2)
{
const size_t __len1 = __last1 - __first1;
const size_t __len2 = __last2 - __first2;
const int __result = memcmp(__first1, __first2, min(__len1, __len2));
return __result != 0 ? __result < 0 : __len1 < __len2;
}
inline bool lexicographical_compare(const char* __first1, const char* __last1,
const char* __first2, const char* __last2)
{
return lexicographical_compare((const signed char*) __first1,
(const signed char*) __last1,
(const signed char*) __first2,
(const signed char*) __last2);
}
template <class _InputIter1, class _InputIter2>
int __lexicographical_compare_3way(_InputIter1 __first1, _InputIter1 __last1,
_InputIter2 __first2, _InputIter2 __last2)
{
while (__first1 != __last1 && __first2 != __last2) {
if (*__first1 < *__first2)
return -1;
if (*__first2 < *__first1)
return 1;
++__first1;
++__first2;
}
if (__first2 == __last2) {
return !(__first1 == __last1);
}
else {
return -1;
}
}
inline int
__lexicographical_compare_3way(const unsigned char* __first1,
const unsigned char* __last1,
const unsigned char* __first2,
const unsigned char* __last2)
{
const ptrdiff_t __len1 = __last1 - __first1;
const ptrdiff_t __len2 = __last2 - __first2;
const int __result = memcmp(__first1, __first2, min(__len1, __len2));
return __result != 0 ? __result
: (__len1 == __len2 ? 0 : (__len1 < __len2 ? -1 : 1));
}
inline int
__lexicographical_compare_3way(const char* __first1, const char* __last1,
const char* __first2, const char* __last2)
{
return __lexicographical_compare_3way(
(const signed char*) __first1,
(const signed char*) __last1,
(const signed char*) __first2,
(const signed char*) __last2);
}
template <class _InputIter1, class _InputIter2>
int lexicographical_compare_3way(_InputIter1 __first1, _InputIter1 __last1,
_InputIter2 __first2, _InputIter2 __last2)
{
;
;
;
;
return __lexicographical_compare_3way(__first1, __last1, __first2, __last2);
}
}
# 50 "/opt/egcs/include/g++-v3/bits/std_memory.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/stl_alloc.h" 1 3
# 57 "/opt/egcs/include/g++-v3/bits/stl_alloc.h" 3
# 1 "/opt/egcs/include/g++-v3/bits/functexcept.h" 1 3
# 34 "/opt/egcs/include/g++-v3/bits/functexcept.h" 3
# 1 "/opt/egcs/include/g++-v3/exception_defines.h" 1 3
# 35 "/opt/egcs/include/g++-v3/bits/functexcept.h" 2 3
namespace std
{
void
__throw_bad_exception(void);
void
__throw_bad_alloc(void);
void
__throw_bad_cast(void);
void
__throw_bad_typeid(void);
void
__throw_logic_error(const char* __s);
void
__throw_domain_error(const char* __s);
void
__throw_invalid_argument(const char* __s);
void
__throw_length_error(const char* __s);
void
__throw_out_of_range(const char* __s);
void
__throw_runtime_error(const char* __s);
void
__throw_range_error(const char* __s);
void
__throw_overflow_error(const char* __s);
void
__throw_underflow_error(const char* __s);
void
__throw_ios_failure(const char* __s);
}
# 58 "/opt/egcs/include/g++-v3/bits/stl_alloc.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/std_cstddef.h" 1 3
# 59 "/opt/egcs/include/g++-v3/bits/stl_alloc.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/std_cstdlib.h" 1 3
# 60 "/opt/egcs/include/g++-v3/bits/stl_alloc.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/std_cstring.h" 1 3
# 61 "/opt/egcs/include/g++-v3/bits/stl_alloc.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/std_cassert.h" 1 3
# 37 "/opt/egcs/include/g++-v3/bits/std_cassert.h" 3
# 1 "/usr/include/assert.h" 1 3
# 36 "/usr/include/assert.h" 3
# 1 "/usr/include/features.h" 1 3
# 37 "/usr/include/assert.h" 2 3
# 65 "/usr/include/assert.h" 3
extern "C" {
extern void __assert_fail (__const char *__assertion, __const char *__file,
unsigned int __line, __const char *__function)
throw () __attribute__ ((__noreturn__));
extern void __assert_perror_fail (int __errnum, __const char *__file,
unsigned int __line,
__const char *__function)
throw () __attribute__ ((__noreturn__));
extern void __assert (const char *__assertion, const char *__file, int __line)
throw () __attribute__ ((__noreturn__));
}
# 38 "/opt/egcs/include/g++-v3/bits/std_cassert.h" 2 3
# 62 "/opt/egcs/include/g++-v3/bits/stl_alloc.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/stl_threads.h" 1 3
# 62 "/opt/egcs/include/g++-v3/bits/stl_threads.h" 3
# 1 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/gthr.h" 1 3
# 63 "/opt/egcs/include/g++-v3/bits/stl_threads.h" 2 3
# 80 "/opt/egcs/include/g++-v3/bits/stl_threads.h" 3
namespace std
{
# 95 "/opt/egcs/include/g++-v3/bits/stl_threads.h" 3
struct _Refcount_Base
{
typedef size_t _RC_t;
volatile _RC_t _M_ref_count;
__gthread_mutex_t _M_ref_count_lock;
_Refcount_Base(_RC_t __n) : _M_ref_count(__n)
{
__gthread_mutex_t __tmp = {0, 0, 0, PTHREAD_MUTEX_TIMED_NP, { 0, 0 }};
_M_ref_count_lock = __tmp;
}
# 141 "/opt/egcs/include/g++-v3/bits/stl_threads.h" 3
void _M_incr() {
__gthread_mutex_lock(&_M_ref_count_lock);
++_M_ref_count;
__gthread_mutex_unlock(&_M_ref_count_lock);
}
_RC_t _M_decr() {
__gthread_mutex_lock(&_M_ref_count_lock);
volatile _RC_t __tmp = --_M_ref_count;
__gthread_mutex_unlock(&_M_ref_count_lock);
return __tmp;
}
# 192 "/opt/egcs/include/g++-v3/bits/stl_threads.h" 3
};
# 313 "/opt/egcs/include/g++-v3/bits/stl_threads.h" 3
template <int __inst>
struct _STL_mutex_spin {
enum { __low_max = 30, __high_max = 1000 };
static unsigned __max;
static unsigned __last;
};
template <int __inst>
unsigned _STL_mutex_spin<__inst>::__max = _STL_mutex_spin<__inst>::__low_max;
template <int __inst>
unsigned _STL_mutex_spin<__inst>::__last = 0;
# 340 "/opt/egcs/include/g++-v3/bits/stl_threads.h" 3
struct _STL_mutex_lock
{
__gthread_mutex_t _M_lock;
void _M_initialize() {
# 371 "/opt/egcs/include/g++-v3/bits/stl_threads.h" 3
}
void _M_acquire_lock() {
__gthread_mutex_lock(&_M_lock);
}
void _M_release_lock() {
__gthread_mutex_unlock(&_M_lock);
}
# 482 "/opt/egcs/include/g++-v3/bits/stl_threads.h" 3
};
# 521 "/opt/egcs/include/g++-v3/bits/stl_threads.h" 3
struct _STL_auto_lock
{
_STL_mutex_lock& _M_lock;
_STL_auto_lock(_STL_mutex_lock& __lock) : _M_lock(__lock)
{ _M_lock._M_acquire_lock(); }
~_STL_auto_lock() { _M_lock._M_release_lock(); }
private:
void operator=(const _STL_auto_lock&);
_STL_auto_lock(const _STL_auto_lock&);
};
}
# 68 "/opt/egcs/include/g++-v3/bits/stl_alloc.h" 2 3
# 97 "/opt/egcs/include/g++-v3/bits/stl_alloc.h" 3
namespace std
{
class __new_alloc
{
public:
static void*
allocate(size_t __n)
{ return ::operator new(__n); }
static void
deallocate(void* __p, size_t)
{ ::operator delete(__p); }
};
template <int __inst>
class __malloc_alloc_template
{
private:
static void* _S_oom_malloc(size_t);
static void* _S_oom_realloc(void*, size_t);
static void (* __malloc_alloc_oom_handler)();
public:
static void*
allocate(size_t __n)
{
void* __result = malloc(__n);
if (0 == __result) __result = _S_oom_malloc(__n);
return __result;
}
static void
deallocate(void* __p, size_t )
{ free(__p); }
static void*
reallocate(void* __p, size_t , size_t __new_sz)
{
void* __result = realloc(__p, __new_sz);
if (0 == __result) __result = _S_oom_realloc(__p, __new_sz);
return __result;
}
static void (* __set_malloc_handler(void (*__f)()))()
{
void (* __old)() = __malloc_alloc_oom_handler;
__malloc_alloc_oom_handler = __f;
return(__old);
}
};
template <int __inst>
void (* __malloc_alloc_template<__inst>::__malloc_alloc_oom_handler)() = 0;
template <int __inst>
void*
__malloc_alloc_template<__inst>::_S_oom_malloc(size_t __n)
{
void (* __my_malloc_handler)();
void* __result;
for (;;)
{
__my_malloc_handler = __malloc_alloc_oom_handler;
if (0 == __my_malloc_handler)
std::__throw_bad_alloc();
(*__my_malloc_handler)();
__result = malloc(__n);
if (__result)
return(__result);
}
}
template <int __inst>
void*
__malloc_alloc_template<__inst>::_S_oom_realloc(void* __p, size_t __n)
{
void (* __my_malloc_handler)();
void* __result;
for (;;)
{
__my_malloc_handler = __malloc_alloc_oom_handler;
if (0 == __my_malloc_handler)
std::__throw_bad_alloc();
(*__my_malloc_handler)();
__result = realloc(__p, __n);
if (__result)
return(__result);
}
}
typedef __new_alloc __mem_interface;
template<class _Tp, class _Alloc>
class simple_alloc {
public:
static _Tp* allocate(size_t __n)
{ return 0 == __n ? 0 : (_Tp*) _Alloc::allocate(__n * sizeof (_Tp)); }
static _Tp* allocate(void)
{ return (_Tp*) _Alloc::allocate(sizeof (_Tp)); }
static void deallocate(_Tp* __p, size_t __n)
{ if (0 != __n) _Alloc::deallocate(__p, __n * sizeof (_Tp)); }
static void deallocate(_Tp* __p)
{ _Alloc::deallocate(__p, sizeof (_Tp)); }
};
template <class _Alloc>
class debug_alloc {
private:
enum {_S_extra = 8};
public:
static void* allocate(size_t __n)
{
char* __result = (char*)_Alloc::allocate(__n + (int) _S_extra);
*(size_t*)__result = __n;
return __result + (int) _S_extra;
}
static void deallocate(void* __p, size_t __n)
{
char* __real_p = (char*)__p - (int) _S_extra;
(static_cast<void> ((*(size_t*)__real_p == __n) ? 0 : (__assert_fail ("*(size_t*)__real_p == __n", "/opt/egcs/include/g++-v3/bits/stl_alloc.h", 240, __PRETTY_FUNCTION__), 0)));
_Alloc::deallocate(__real_p, __n + (int) _S_extra);
}
static void* reallocate(void* __p, size_t __old_sz, size_t __new_sz)
{
char* __real_p = (char*)__p - (int) _S_extra;
(static_cast<void> ((*(size_t*)__real_p == __old_sz) ? 0 : (__assert_fail ("*(size_t*)__real_p == __old_sz", "/opt/egcs/include/g++-v3/bits/stl_alloc.h", 247, __PRETTY_FUNCTION__), 0)));
char* __result = (char*)
_Alloc::reallocate(__real_p, __old_sz + (int) _S_extra,
__new_sz + (int) _S_extra);
*(size_t*)__result = __new_sz;
return __result + (int) _S_extra;
}
};
# 291 "/opt/egcs/include/g++-v3/bits/stl_alloc.h" 3
template <bool threads, int inst>
class __default_alloc_template {
private:
enum {_ALIGN = 8};
enum {_MAX_BYTES = 128};
enum {_NFREELISTS = 16};
static size_t
_S_round_up(size_t __bytes)
{ return (((__bytes) + (size_t) _ALIGN-1) & ~((size_t) _ALIGN - 1)); }
union _Obj {
union _Obj* _M_free_list_link;
char _M_client_data[1];
};
static _Obj* volatile _S_free_list[];
static size_t _S_freelist_index(size_t __bytes) {
return (((__bytes) + (size_t)_ALIGN-1)/(size_t)_ALIGN - 1);
}
static void* _S_refill(size_t __n);
static char* _S_chunk_alloc(size_t __size, int& __nobjs);
static char* _S_start_free;
static char* _S_end_free;
static size_t _S_heap_size;
static _STL_mutex_lock _S_node_allocator_lock;
class _Lock;
friend class _Lock;
class _Lock {
public:
_Lock() { { if (threads) _S_node_allocator_lock._M_acquire_lock(); }; }
~_Lock() { { if (threads) _S_node_allocator_lock._M_release_lock(); }; }
};
public:
static void* allocate(size_t __n)
{
void* __ret = 0;
if (__n > (size_t) _MAX_BYTES)
__ret = __mem_interface::allocate(__n);
else
{
_Obj* volatile* __my_free_list = _S_free_list + _S_freelist_index(__n);
_Lock __lock_instance;
_Obj* __result = *__my_free_list;
if (__result == 0)
__ret = _S_refill(_S_round_up(__n));
else
{
*__my_free_list = __result -> _M_free_list_link;
__ret = __result;
}
}
return __ret;
};
static void deallocate(void* __p, size_t __n)
{
if (__n > (size_t) _MAX_BYTES)
__mem_interface::deallocate(__p, __n);
else
{
_Obj* volatile* __my_free_list
= _S_free_list + _S_freelist_index(__n);
_Obj* __q = (_Obj*)__p;
_Lock __lock_instance;
__q -> _M_free_list_link = *__my_free_list;
*__my_free_list = __q;
}
}
static void* reallocate(void* __p, size_t __old_sz, size_t __new_sz);
};
typedef __default_alloc_template<true, 0> alloc;
typedef __default_alloc_template<false, 0> single_client_alloc;
template <bool __threads, int __inst>
inline bool operator==(const __default_alloc_template<__threads, __inst>&,
const __default_alloc_template<__threads, __inst>&)
{
return true;
}
template <bool __threads, int __inst>
inline bool operator!=(const __default_alloc_template<__threads, __inst>&,
const __default_alloc_template<__threads, __inst>&)
{
return false;
}
template <bool __threads, int __inst>
char*
__default_alloc_template<__threads, __inst>::_S_chunk_alloc(size_t __size,
int& __nobjs)
{
char* __result;
size_t __total_bytes = __size * __nobjs;
size_t __bytes_left = _S_end_free - _S_start_free;
if (__bytes_left >= __total_bytes)
{
__result = _S_start_free;
_S_start_free += __total_bytes;
return(__result);
}
else if (__bytes_left >= __size)
{
__nobjs = (int)(__bytes_left/__size);
__total_bytes = __size * __nobjs;
__result = _S_start_free;
_S_start_free += __total_bytes;
return(__result);
}
else
{
size_t __bytes_to_get =
2 * __total_bytes + _S_round_up(_S_heap_size >> 4);
if (__bytes_left > 0)
{
_Obj* volatile* __my_free_list =
_S_free_list + _S_freelist_index(__bytes_left);
((_Obj*)_S_start_free) -> _M_free_list_link = *__my_free_list;
*__my_free_list = (_Obj*)_S_start_free;
}
_S_start_free = (char*) __mem_interface::allocate(__bytes_to_get);
if (0 == _S_start_free)
{
size_t __i;
_Obj* volatile* __my_free_list;
_Obj* __p;
__i = __size;
for (; __i <= (size_t) _MAX_BYTES; __i += (size_t) _ALIGN)
{
__my_free_list = _S_free_list + _S_freelist_index(__i);
__p = *__my_free_list;
if (0 != __p)
{
*__my_free_list = __p -> _M_free_list_link;
_S_start_free = (char*)__p;
_S_end_free = _S_start_free + __i;
return(_S_chunk_alloc(__size, __nobjs));
}
}
_S_end_free = 0;
_S_start_free = (char*)__mem_interface::allocate(__bytes_to_get);
}
_S_heap_size += __bytes_to_get;
_S_end_free = _S_start_free + __bytes_to_get;
return(_S_chunk_alloc(__size, __nobjs));
}
}
template <bool __threads, int __inst>
void*
__default_alloc_template<__threads, __inst>::_S_refill(size_t __n)
{
int __nobjs = 20;
char* __chunk = _S_chunk_alloc(__n, __nobjs);
_Obj* volatile* __my_free_list;
_Obj* __result;
_Obj* __current_obj;
_Obj* __next_obj;
int __i;
if (1 == __nobjs) return(__chunk);
__my_free_list = _S_free_list + _S_freelist_index(__n);
__result = (_Obj*)__chunk;
*__my_free_list = __next_obj = (_Obj*)(__chunk + __n);
for (__i = 1; ; __i++) {
__current_obj = __next_obj;
__next_obj = (_Obj*)((char*)__next_obj + __n);
if (__nobjs - 1 == __i) {
__current_obj -> _M_free_list_link = 0;
break;
} else {
__current_obj -> _M_free_list_link = __next_obj;
}
}
return(__result);
}
template <bool threads, int inst>
void*
__default_alloc_template<threads, inst>::reallocate(void* __p,
size_t __old_sz,
size_t __new_sz)
{
void* __result;
size_t __copy_sz;
if (__old_sz > (size_t) _MAX_BYTES && __new_sz > (size_t) _MAX_BYTES) {
return(realloc(__p, __new_sz));
}
if (_S_round_up(__old_sz) == _S_round_up(__new_sz)) return(__p);
__result = allocate(__new_sz);
__copy_sz = __new_sz > __old_sz? __old_sz : __new_sz;
memcpy(__result, __p, __copy_sz);
deallocate(__p, __old_sz);
return(__result);
}
template <bool __threads, int __inst>
_STL_mutex_lock
__default_alloc_template<__threads, __inst>::_S_node_allocator_lock
= { {0, 0, 0, PTHREAD_MUTEX_TIMED_NP, { 0, 0 }} };
template <bool __threads, int __inst>
char* __default_alloc_template<__threads, __inst>::_S_start_free = 0;
template <bool __threads, int __inst>
char* __default_alloc_template<__threads, __inst>::_S_end_free = 0;
template <bool __threads, int __inst>
size_t __default_alloc_template<__threads, __inst>::_S_heap_size = 0;
template <bool __threads, int __inst>
typename __default_alloc_template<__threads, __inst>::_Obj* volatile
__default_alloc_template<__threads, __inst> ::_S_free_list[
__default_alloc_template<__threads, __inst>::_NFREELISTS
] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, };
# 584 "/opt/egcs/include/g++-v3/bits/stl_alloc.h" 3
template <class _Tp>
class allocator {
typedef alloc _Alloc;
public:
typedef size_t size_type;
typedef ptrdiff_t difference_type;
typedef _Tp* pointer;
typedef const _Tp* const_pointer;
typedef _Tp& reference;
typedef const _Tp& const_reference;
typedef _Tp value_type;
template <class _Tp1> struct rebind {
typedef allocator<_Tp1> other;
};
allocator() throw() {}
allocator(const allocator&) throw() {}
template <class _Tp1> allocator(const allocator<_Tp1>&) throw() {}
~allocator() throw() {}
pointer address(reference __x) const { return &__x; }
const_pointer address(const_reference __x) const { return &__x; }
_Tp* allocate(size_type __n, const void* = 0) {
return __n != 0 ? static_cast<_Tp*>(_Alloc::allocate(__n * sizeof(_Tp)))
: 0;
}
void deallocate(pointer __p, size_type __n)
{ _Alloc::deallocate(__p, __n * sizeof(_Tp)); }
size_type max_size() const throw()
{ return size_t(-1) / sizeof(_Tp); }
void construct(pointer __p, const _Tp& __val) { new(__p) _Tp(__val); }
void destroy(pointer __p) { __p->~_Tp(); }
};
template<>
class allocator<void> {
public:
typedef size_t size_type;
typedef ptrdiff_t difference_type;
typedef void* pointer;
typedef const void* const_pointer;
typedef void value_type;
template <class _Tp1> struct rebind {
typedef allocator<_Tp1> other;
};
};
template <class _T1, class _T2>
inline bool operator==(const allocator<_T1>&, const allocator<_T2>&)
{
return true;
}
template <class _T1, class _T2>
inline bool operator!=(const allocator<_T1>&, const allocator<_T2>&)
{
return false;
}
# 660 "/opt/egcs/include/g++-v3/bits/stl_alloc.h" 3
template <class _Tp, class _Alloc>
struct __allocator {
_Alloc __underlying_alloc;
typedef size_t size_type;
typedef ptrdiff_t difference_type;
typedef _Tp* pointer;
typedef const _Tp* const_pointer;
typedef _Tp& reference;
typedef const _Tp& const_reference;
typedef _Tp value_type;
template <class _Tp1> struct rebind {
typedef __allocator<_Tp1, _Alloc> other;
};
__allocator() throw() {}
__allocator(const __allocator& __a) throw()
: __underlying_alloc(__a.__underlying_alloc) {}
template <class _Tp1>
__allocator(const __allocator<_Tp1, _Alloc>& __a) throw()
: __underlying_alloc(__a.__underlying_alloc) {}
~__allocator() throw() {}
pointer address(reference __x) const { return &__x; }
const_pointer address(const_reference __x) const { return &__x; }
_Tp* allocate(size_type __n, const void* = 0) {
return __n != 0
? static_cast<_Tp*>(__underlying_alloc.allocate(__n * sizeof(_Tp)))
: 0;
}
void deallocate(pointer __p, size_type __n)
{ __underlying_alloc.deallocate(__p, __n * sizeof(_Tp)); }
size_type max_size() const throw()
{ return size_t(-1) / sizeof(_Tp); }
void construct(pointer __p, const _Tp& __val) { new(__p) _Tp(__val); }
void destroy(pointer __p) { __p->~_Tp(); }
};
template <class _Alloc>
class __allocator<void, _Alloc> {
typedef size_t size_type;
typedef ptrdiff_t difference_type;
typedef void* pointer;
typedef const void* const_pointer;
typedef void value_type;
template <class _Tp1> struct rebind {
typedef __allocator<_Tp1, _Alloc> other;
};
};
template <class _Tp, class _Alloc>
inline bool operator==(const __allocator<_Tp, _Alloc>& __a1,
const __allocator<_Tp, _Alloc>& __a2)
{
return __a1.__underlying_alloc == __a2.__underlying_alloc;
}
template <class _Tp, class _Alloc>
inline bool operator!=(const __allocator<_Tp, _Alloc>& __a1,
const __allocator<_Tp, _Alloc>& __a2)
{
return __a1.__underlying_alloc != __a2.__underlying_alloc;
}
template <int inst>
inline bool operator==(const __malloc_alloc_template<inst>&,
const __malloc_alloc_template<inst>&)
{
return true;
}
template <int __inst>
inline bool operator!=(const __malloc_alloc_template<__inst>&,
const __malloc_alloc_template<__inst>&)
{
return false;
}
template <class _Alloc>
inline bool operator==(const debug_alloc<_Alloc>&,
const debug_alloc<_Alloc>&) {
return true;
}
template <class _Alloc>
inline bool operator!=(const debug_alloc<_Alloc>&,
const debug_alloc<_Alloc>&) {
return false;
}
# 790 "/opt/egcs/include/g++-v3/bits/stl_alloc.h" 3
template <class _Tp, class _Allocator>
struct _Alloc_traits
{
static const bool _S_instanceless = false;
typedef typename _Allocator::template rebind<_Tp>::other allocator_type;
};
template <class _Tp, class _Allocator>
const bool _Alloc_traits<_Tp, _Allocator>::_S_instanceless;
template <class _Tp, class _Tp1>
struct _Alloc_traits<_Tp, allocator<_Tp1> >
{
static const bool _S_instanceless = true;
typedef simple_alloc<_Tp, alloc> _Alloc_type;
typedef allocator<_Tp> allocator_type;
};
template <class _Tp, int __inst>
struct _Alloc_traits<_Tp, __malloc_alloc_template<__inst> >
{
static const bool _S_instanceless = true;
typedef simple_alloc<_Tp, __malloc_alloc_template<__inst> > _Alloc_type;
typedef __allocator<_Tp, __malloc_alloc_template<__inst> > allocator_type;
};
template <class _Tp, bool __threads, int __inst>
struct _Alloc_traits<_Tp, __default_alloc_template<__threads, __inst> >
{
static const bool _S_instanceless = true;
typedef simple_alloc<_Tp, __default_alloc_template<__threads, __inst> >
_Alloc_type;
typedef __allocator<_Tp, __default_alloc_template<__threads, __inst> >
allocator_type;
};
template <class _Tp, class _Alloc>
struct _Alloc_traits<_Tp, debug_alloc<_Alloc> >
{
static const bool _S_instanceless = true;
typedef simple_alloc<_Tp, debug_alloc<_Alloc> > _Alloc_type;
typedef __allocator<_Tp, debug_alloc<_Alloc> > allocator_type;
};
template <class _Tp, class _Tp1, int __inst>
struct _Alloc_traits<_Tp,
__allocator<_Tp1, __malloc_alloc_template<__inst> > >
{
static const bool _S_instanceless = true;
typedef simple_alloc<_Tp, __malloc_alloc_template<__inst> > _Alloc_type;
typedef __allocator<_Tp, __malloc_alloc_template<__inst> > allocator_type;
};
template <class _Tp, class _Tp1, bool __thr, int __inst>
struct _Alloc_traits<_Tp,
__allocator<_Tp1,
__default_alloc_template<__thr, __inst> > >
{
static const bool _S_instanceless = true;
typedef simple_alloc<_Tp, __default_alloc_template<__thr,__inst> >
_Alloc_type;
typedef __allocator<_Tp, __default_alloc_template<__thr,__inst> >
allocator_type;
};
template <class _Tp, class _Tp1, class _Alloc>
struct _Alloc_traits<_Tp, __allocator<_Tp1, debug_alloc<_Alloc> > >
{
static const bool _S_instanceless = true;
typedef simple_alloc<_Tp, debug_alloc<_Alloc> > _Alloc_type;
typedef __allocator<_Tp, debug_alloc<_Alloc> > allocator_type;
};
}
# 51 "/opt/egcs/include/g++-v3/bits/std_memory.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/stl_construct.h" 1 3
# 63 "/opt/egcs/include/g++-v3/bits/stl_construct.h" 3
# 1 "/opt/egcs/include/g++-v3/bits/type_traits.h" 1 3
# 64 "/opt/egcs/include/g++-v3/bits/stl_construct.h" 2 3
# 1 "/opt/egcs/include/g++-v3/new" 1 3
# 65 "/opt/egcs/include/g++-v3/bits/stl_construct.h" 2 3
namespace std
{
template <class _T1, class _T2>
inline void
_Construct(_T1* __p, const _T2& __value)
{ new (static_cast<void*>(__p)) _T1(__value); }
template <class _T1>
inline void
_Construct(_T1* __p)
{ new (static_cast<void*>(__p)) _T1(); }
template <class _ForwardIterator>
inline void
__destroy_aux(_ForwardIterator __first, _ForwardIterator __last, __false_type)
{ for ( ; __first != __last; ++__first) _Destroy(&*__first); }
# 107 "/opt/egcs/include/g++-v3/bits/stl_construct.h" 3
template <class _ForwardIterator>
inline void
__destroy_aux(_ForwardIterator, _ForwardIterator, __true_type)
{ }
template <class _Tp>
inline void
_Destroy(_Tp* __pointer)
{ __pointer->~_Tp(); }
# 131 "/opt/egcs/include/g++-v3/bits/stl_construct.h" 3
template <class _ForwardIterator>
inline void
_Destroy(_ForwardIterator __first, _ForwardIterator __last)
{
typedef typename iterator_traits<_ForwardIterator>::value_type
_Value_type;
typedef typename __type_traits<_Value_type>::has_trivial_destructor
_Has_trivial_destructor;
__destroy_aux(__first, __last, _Has_trivial_destructor());
}
}
# 52 "/opt/egcs/include/g++-v3/bits/std_memory.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/stl_iterator_base_types.h" 1 3
# 53 "/opt/egcs/include/g++-v3/bits/std_memory.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/stl_tempbuf.h" 1 3
# 63 "/opt/egcs/include/g++-v3/bits/stl_tempbuf.h" 3
namespace std
{
template <class _Tp>
pair<_Tp*, ptrdiff_t>
__get_temporary_buffer(ptrdiff_t __len, _Tp*)
{
if (__len > ptrdiff_t(2147483647 / sizeof(_Tp)))
__len = 2147483647 / sizeof(_Tp);
while (__len > 0) {
_Tp* __tmp = (_Tp*) malloc((size_t)__len * sizeof(_Tp));
if (__tmp != 0)
return pair<_Tp*, ptrdiff_t>(__tmp, __len);
__len /= 2;
}
return pair<_Tp*, ptrdiff_t>((_Tp*)0, 0);
}
template <class _Tp>
inline pair<_Tp*, ptrdiff_t> get_temporary_buffer(ptrdiff_t __len) {
return __get_temporary_buffer(__len, (_Tp*) 0);
}
template <class _Tp>
inline pair<_Tp*, ptrdiff_t> get_temporary_buffer(ptrdiff_t __len, _Tp*) {
return __get_temporary_buffer(__len, (_Tp*) 0);
}
template <class _Tp>
void return_temporary_buffer(_Tp* __p) {
free(__p);
}
template <class _ForwardIterator, class _Tp>
class _Temporary_buffer {
private:
ptrdiff_t _M_original_len;
ptrdiff_t _M_len;
_Tp* _M_buffer;
void _M_allocate_buffer() {
_M_original_len = _M_len;
_M_buffer = 0;
if (_M_len > (ptrdiff_t)(2147483647 / sizeof(_Tp)))
_M_len = 2147483647 / sizeof(_Tp);
while (_M_len > 0) {
_M_buffer = (_Tp*) malloc(_M_len * sizeof(_Tp));
if (_M_buffer)
break;
_M_len /= 2;
}
}
void _M_initialize_buffer(const _Tp&, __true_type) {}
void _M_initialize_buffer(const _Tp& val, __false_type) {
uninitialized_fill_n(_M_buffer, _M_len, val);
}
public:
ptrdiff_t size() const { return _M_len; }
ptrdiff_t requested_size() const { return _M_original_len; }
_Tp* begin() { return _M_buffer; }
_Tp* end() { return _M_buffer + _M_len; }
_Temporary_buffer(_ForwardIterator __first, _ForwardIterator __last) {
typedef typename __type_traits<_Tp>::has_trivial_default_constructor
_Trivial;
try {
_M_len = 0;
distance(__first, __last, _M_len);
_M_allocate_buffer();
if (_M_len > 0)
_M_initialize_buffer(*__first, _Trivial());
}
catch(...) { free(_M_buffer); _M_buffer = 0; _M_len = 0; throw; };
}
~_Temporary_buffer() {
_Destroy(_M_buffer, _M_buffer + _M_len);
free(_M_buffer);
}
private:
_Temporary_buffer(const _Temporary_buffer&) {}
void operator=(const _Temporary_buffer&) {}
};
template <class _ForwardIterator,
class _Tp
= typename iterator_traits<_ForwardIterator>::value_type
>
struct temporary_buffer : public _Temporary_buffer<_ForwardIterator, _Tp>
{
temporary_buffer(_ForwardIterator __first, _ForwardIterator __last)
: _Temporary_buffer<_ForwardIterator, _Tp>(__first, __last) {}
~temporary_buffer() {}
};
}
# 54 "/opt/egcs/include/g++-v3/bits/std_memory.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/stl_uninitialized.h" 1 3
# 63 "/opt/egcs/include/g++-v3/bits/stl_uninitialized.h" 3
# 1 "/opt/egcs/include/g++-v3/bits/std_cstring.h" 1 3
# 64 "/opt/egcs/include/g++-v3/bits/stl_uninitialized.h" 2 3
namespace std
{
template <class _InputIter, class _ForwardIter>
inline _ForwardIter
__uninitialized_copy_aux(_InputIter __first, _InputIter __last,
_ForwardIter __result,
__true_type)
{
return copy(__first, __last, __result);
}
template <class _InputIter, class _ForwardIter>
_ForwardIter
__uninitialized_copy_aux(_InputIter __first, _InputIter __last,
_ForwardIter __result,
__false_type)
{
_ForwardIter __cur = __result;
try {
for ( ; __first != __last; ++__first, ++__cur)
_Construct(&*__cur, *__first);
return __cur;
}
catch(...) { _Destroy(__result, __cur); throw; };
}
template <class _InputIter, class _ForwardIter, class _Tp>
inline _ForwardIter
__uninitialized_copy(_InputIter __first, _InputIter __last,
_ForwardIter __result, _Tp*)
{
typedef typename __type_traits<_Tp>::is_POD_type _Is_POD;
return __uninitialized_copy_aux(__first, __last, __result, _Is_POD());
}
template <class _InputIter, class _ForwardIter>
inline _ForwardIter
uninitialized_copy(_InputIter __first, _InputIter __last,
_ForwardIter __result)
{
return __uninitialized_copy(__first, __last, __result,
__value_type(__result));
}
inline char* uninitialized_copy(const char* __first, const char* __last,
char* __result) {
memmove(__result, __first, __last - __first);
return __result + (__last - __first);
}
inline wchar_t*
uninitialized_copy(const wchar_t* __first, const wchar_t* __last,
wchar_t* __result)
{
memmove(__result, __first, sizeof(wchar_t) * (__last - __first));
return __result + (__last - __first);
}
template <class _InputIter, class _Size, class _ForwardIter>
pair<_InputIter, _ForwardIter>
__uninitialized_copy_n(_InputIter __first, _Size __count,
_ForwardIter __result,
input_iterator_tag)
{
_ForwardIter __cur = __result;
try {
for ( ; __count > 0 ; --__count, ++__first, ++__cur)
_Construct(&*__cur, *__first);
return pair<_InputIter, _ForwardIter>(__first, __cur);
}
catch(...) { _Destroy(__result, __cur); throw; };
}
template <class _RandomAccessIter, class _Size, class _ForwardIter>
inline pair<_RandomAccessIter, _ForwardIter>
__uninitialized_copy_n(_RandomAccessIter __first, _Size __count,
_ForwardIter __result,
random_access_iterator_tag) {
_RandomAccessIter __last = __first + __count;
return pair<_RandomAccessIter, _ForwardIter>(
__last,
uninitialized_copy(__first, __last, __result));
}
template <class _InputIter, class _Size, class _ForwardIter>
inline pair<_InputIter, _ForwardIter>
__uninitialized_copy_n(_InputIter __first, _Size __count,
_ForwardIter __result) {
return __uninitialized_copy_n(__first, __count, __result,
__iterator_category(__first));
}
template <class _InputIter, class _Size, class _ForwardIter>
inline pair<_InputIter, _ForwardIter>
uninitialized_copy_n(_InputIter __first, _Size __count,
_ForwardIter __result) {
return __uninitialized_copy_n(__first, __count, __result,
__iterator_category(__first));
}
template <class _ForwardIter, class _Tp>
inline void
__uninitialized_fill_aux(_ForwardIter __first, _ForwardIter __last,
const _Tp& __x, __true_type)
{
fill(__first, __last, __x);
}
template <class _ForwardIter, class _Tp>
void
__uninitialized_fill_aux(_ForwardIter __first, _ForwardIter __last,
const _Tp& __x, __false_type)
{
_ForwardIter __cur = __first;
try {
for ( ; __cur != __last; ++__cur)
_Construct(&*__cur, __x);
}
catch(...) { _Destroy(__first, __cur); throw; };
}
template <class _ForwardIter, class _Tp, class _Tp1>
inline void __uninitialized_fill(_ForwardIter __first,
_ForwardIter __last, const _Tp& __x, _Tp1*)
{
typedef typename __type_traits<_Tp1>::is_POD_type _Is_POD;
__uninitialized_fill_aux(__first, __last, __x, _Is_POD());
}
template <class _ForwardIter, class _Tp>
inline void uninitialized_fill(_ForwardIter __first,
_ForwardIter __last,
const _Tp& __x)
{
__uninitialized_fill(__first, __last, __x, __value_type(__first));
}
template <class _ForwardIter, class _Size, class _Tp>
inline _ForwardIter
__uninitialized_fill_n_aux(_ForwardIter __first, _Size __n,
const _Tp& __x, __true_type)
{
return fill_n(__first, __n, __x);
}
template <class _ForwardIter, class _Size, class _Tp>
_ForwardIter
__uninitialized_fill_n_aux(_ForwardIter __first, _Size __n,
const _Tp& __x, __false_type)
{
_ForwardIter __cur = __first;
try {
for ( ; __n > 0; --__n, ++__cur)
_Construct(&*__cur, __x);
return __cur;
}
catch(...) { _Destroy(__first, __cur); throw; };
}
template <class _ForwardIter, class _Size, class _Tp, class _Tp1>
inline _ForwardIter
__uninitialized_fill_n(_ForwardIter __first, _Size __n, const _Tp& __x, _Tp1*)
{
typedef typename __type_traits<_Tp1>::is_POD_type _Is_POD;
return __uninitialized_fill_n_aux(__first, __n, __x, _Is_POD());
}
template <class _ForwardIter, class _Size, class _Tp>
inline _ForwardIter
uninitialized_fill_n(_ForwardIter __first, _Size __n, const _Tp& __x)
{
return __uninitialized_fill_n(__first, __n, __x, __value_type(__first));
}
# 260 "/opt/egcs/include/g++-v3/bits/stl_uninitialized.h" 3
template <class _InputIter1, class _InputIter2, class _ForwardIter>
inline _ForwardIter
__uninitialized_copy_copy(_InputIter1 __first1, _InputIter1 __last1,
_InputIter2 __first2, _InputIter2 __last2,
_ForwardIter __result)
{
_ForwardIter __mid = uninitialized_copy(__first1, __last1, __result);
try {
return uninitialized_copy(__first2, __last2, __mid);
}
catch(...) { _Destroy(__result, __mid); throw; };
}
template <class _ForwardIter, class _Tp, class _InputIter>
inline _ForwardIter
__uninitialized_fill_copy(_ForwardIter __result, _ForwardIter __mid,
const _Tp& __x,
_InputIter __first, _InputIter __last)
{
uninitialized_fill(__result, __mid, __x);
try {
return uninitialized_copy(__first, __last, __mid);
}
catch(...) { _Destroy(__result, __mid); throw; };
}
template <class _InputIter, class _ForwardIter, class _Tp>
inline void
__uninitialized_copy_fill(_InputIter __first1, _InputIter __last1,
_ForwardIter __first2, _ForwardIter __last2,
const _Tp& __x)
{
_ForwardIter __mid2 = uninitialized_copy(__first1, __last1, __first2);
try {
uninitialized_fill(__mid2, __last2, __x);
}
catch(...) { _Destroy(__first2, __mid2); throw; };
}
}
# 55 "/opt/egcs/include/g++-v3/bits/std_memory.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/stl_raw_storage_iter.h" 1 3
# 63 "/opt/egcs/include/g++-v3/bits/stl_raw_storage_iter.h" 3
namespace std
{
template <class _ForwardIterator, class _Tp>
class raw_storage_iterator
: public iterator<output_iterator_tag, void, void, void, void>
{
protected:
_ForwardIterator _M_iter;
public:
explicit
raw_storage_iterator(_ForwardIterator __x) : _M_iter(__x) {}
raw_storage_iterator&
operator*() { return *this; }
raw_storage_iterator&
operator=(const _Tp& __element)
{
construct(&*_M_iter, __element);
return *this;
}
raw_storage_iterator<_ForwardIterator, _Tp>&
operator++()
{
++_M_iter;
return *this;
}
raw_storage_iterator<_ForwardIterator, _Tp>
operator++(int)
{
raw_storage_iterator<_ForwardIterator, _Tp> __tmp = *this;
++_M_iter;
return __tmp;
}
};
}
# 56 "/opt/egcs/include/g++-v3/bits/std_memory.h" 2 3
namespace std
{
template<class _Tp1> struct auto_ptr_ref {
_Tp1* _M_ptr;
auto_ptr_ref(_Tp1* __p) : _M_ptr(__p) {}
};
template <class _Tp> class auto_ptr {
private:
_Tp* _M_ptr;
public:
typedef _Tp element_type;
explicit auto_ptr(_Tp* __p = 0) throw() : _M_ptr(__p) {}
auto_ptr(auto_ptr& __a) throw() : _M_ptr(__a.release()) {}
template <class _Tp1> auto_ptr(auto_ptr<_Tp1>& __a) throw()
: _M_ptr(__a.release()) {}
auto_ptr& operator=(auto_ptr& __a) throw() {
reset(__a.release());
return *this;
}
template <class _Tp1>
auto_ptr& operator=(auto_ptr<_Tp1>& __a) throw() {
reset(__a.release());
return *this;
}
~auto_ptr() { delete _M_ptr; }
_Tp& operator*() const throw() {
return *_M_ptr;
}
_Tp* operator->() const throw() {
return _M_ptr;
}
_Tp* get() const throw() {
return _M_ptr;
}
_Tp* release() throw() {
_Tp* __tmp = _M_ptr;
_M_ptr = 0;
return __tmp;
}
void reset(_Tp* __p = 0) throw() {
if (__p != _M_ptr) {
delete _M_ptr;
_M_ptr = __p;
}
}
public:
auto_ptr(auto_ptr_ref<_Tp> __ref) throw()
: _M_ptr(__ref._M_ptr) {}
auto_ptr& operator=(auto_ptr_ref<_Tp> __ref) throw() {
if (__ref._M_ptr != this->get()) {
delete _M_ptr;
_M_ptr = __ref._M_ptr;
}
return *this;
}
template <class _Tp1> operator auto_ptr_ref<_Tp1>() throw()
{ return auto_ptr_ref<_Tp>(this->release()); }
template <class _Tp1> operator auto_ptr<_Tp1>() throw()
{ return auto_ptr<_Tp1>(this->release()); }
};
}
# 43 "/opt/egcs/include/g++-v3/bits/std_string.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/type_traits.h" 1 3
# 44 "/opt/egcs/include/g++-v3/bits/std_string.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/std_iosfwd.h" 1 3
# 45 "/opt/egcs/include/g++-v3/bits/std_string.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/stl_iterator.h" 1 3
# 46 "/opt/egcs/include/g++-v3/bits/std_string.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/basic_string.h" 1 3
# 38 "/opt/egcs/include/g++-v3/bits/basic_string.h" 3
# 1 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/atomicity.h" 1 3
# 33 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/atomicity.h" 3
typedef int _Atomic_word;
static inline _Atomic_word
__attribute__ ((__unused__))
__exchange_and_add (volatile _Atomic_word *__mem, int __val)
{
register _Atomic_word __result;
__asm__ __volatile__ ("lock; xaddl %0,%2"
: "=r" (__result)
: "0" (__val), "m" (*__mem)
: "memory");
return __result;
}
static inline void
__attribute__ ((__unused__))
__atomic_add (volatile _Atomic_word* __mem, int __val)
{
__asm__ __volatile__ ("lock; addl %0,%1"
: : "ir" (__val), "m" (*__mem) : "memory");
}
static inline char
__attribute__ ((__unused__))
__compare_and_swap (volatile long* __p, long __oldval, long __newval)
{
char __ret;
long __readval;
__asm__ __volatile__ ("lock; cmpxchgl %3, %1; sete %0"
: "=q" (__ret), "=m" (*__p), "=a" (__readval)
: "r" (__newval), "m" (*__p), "a" (__oldval));
return __ret;
}
# 40 "/opt/egcs/include/g++-v3/bits/basic_string.h" 2 3
namespace std
{
# 83 "/opt/egcs/include/g++-v3/bits/basic_string.h" 3
template<typename _CharT, typename _Traits, typename _Alloc>
class basic_string
{
public:
typedef _Traits traits_type;
typedef typename _Traits::char_type value_type;
typedef _Alloc allocator_type;
typedef typename _Alloc::size_type size_type;
typedef typename _Alloc::difference_type difference_type;
typedef typename _Alloc::reference reference;
typedef typename _Alloc::const_reference const_reference;
typedef typename _Alloc::pointer pointer;
typedef typename _Alloc::const_pointer const_pointer;
typedef __normal_iterator<pointer, basic_string> iterator;
typedef __normal_iterator<const_pointer, basic_string> const_iterator;
typedef reverse_iterator<const_iterator> const_reverse_iterator;
typedef reverse_iterator<iterator> reverse_iterator;
private:
# 118 "/opt/egcs/include/g++-v3/bits/basic_string.h" 3
struct _Rep
{
typedef typename _Alloc::rebind<char>::other _Raw_bytes_alloc;
# 136 "/opt/egcs/include/g++-v3/bits/basic_string.h" 3
static const size_type _S_max_size;
static const _CharT _S_terminal;
size_type _M_length;
size_type _M_capacity;
_Atomic_word _M_references;
bool
_M_is_leaked() const
{ return _M_references < 0; }
bool
_M_is_shared() const
{ return _M_references > 0; }
void
_M_set_leaked()
{ _M_references = -1; }
void
_M_set_sharable()
{ _M_references = 0; }
_CharT*
_M_refdata() throw()
{ return reinterpret_cast<_CharT*> (this + 1); }
_CharT&
operator[](size_t __s) throw()
{ return _M_refdata() [__s]; }
_CharT*
_M_grab(const _Alloc& __alloc1, const _Alloc& __alloc2)
{ return (!_M_is_leaked() && __alloc1 == __alloc2) ?
_M_refcopy() : _M_clone(__alloc1); }
static _Rep*
_S_create(size_t, const _Alloc&);
void
_M_dispose(const _Alloc& __a)
{
if (__exchange_and_add(&_M_references, -1) <= 0)
_M_destroy(__a);
}
void
_M_destroy(const _Alloc&) throw();
_CharT*
_M_refcopy() throw()
{
__atomic_add(&_M_references, 1);
return _M_refdata();
}
_CharT*
_M_clone(const _Alloc&, size_type __res = 0);
# 208 "/opt/egcs/include/g++-v3/bits/basic_string.h" 3
inline static bool
_S_excess_slop(size_t, size_t);
};
struct _Alloc_hider : _Alloc
{
_Alloc_hider(_CharT* __dat, const _Alloc& __a)
: _Alloc(__a), _M_p(__dat) { }
_CharT* _M_p;
};
public:
static const size_type npos = static_cast<size_type>(-1);
private:
mutable _Alloc_hider _M_dataplus;
static size_type _S_empty_rep_storage[(sizeof(_Rep) + sizeof(_CharT) + sizeof(size_type) - 1)/sizeof(size_type)];
_CharT*
_M_data() const
{ return _M_dataplus._M_p; }
_CharT*
_M_data(_CharT* __p)
{ return (_M_dataplus._M_p = __p); }
_Rep*
_M_rep() const
{ return &((reinterpret_cast<_Rep*> (_M_data()))[-1]); }
iterator
_M_ibegin() const { return iterator(_M_data()); }
iterator
_M_iend() const { return iterator(_M_data() + this->size()); }
void
_M_leak()
{
if (!_M_rep()->_M_is_leaked())
_M_leak_hard();
}
iterator
_M_check(size_type __pos) const
{
if (__pos > this->size())
__throw_out_of_range("basic_string::_M_check");
return _M_ibegin() + __pos;
}
iterator
_M_fold(size_type __pos, size_type __off) const
{
bool __testoff = __off < this->size() - __pos;
size_type __newoff = __testoff ? __off : this->size() - __pos;
return (_M_ibegin() + __pos + __newoff);
}
template<class _Iterator>
static void
_S_copy_chars(_CharT* __p, _Iterator __k1, _Iterator __k2)
{
for (; __k1 != __k2; ++__k1, ++__p)
traits_type::assign(*__p, *__k1);
}
static void
_S_copy_chars(_CharT* __p, iterator __k1, iterator __k2)
{ _S_copy_chars(__p, __k1.base(), __k2.base()); }
static void
_S_copy_chars(_CharT* __p, const_iterator __k1, const_iterator __k2)
{ _S_copy_chars(__p, __k1.base(), __k2.base()); }
static void
_S_copy_chars(_CharT* __p, _CharT* __k1, _CharT* __k2)
{ traits_type::copy(__p, __k1, __k2 - __k1); }
static void
_S_copy_chars(_CharT* __p, const _CharT* __k1, const _CharT* __k2)
{ traits_type::copy(__p, __k1, __k2 - __k1); }
void
_M_mutate(size_type __pos, size_type __len1, size_type __len2);
void
_M_leak_hard();
static _Rep&
_S_empty_rep()
{ return *reinterpret_cast<_Rep*>(&_S_empty_rep_storage); }
public:
inline
basic_string();
explicit
basic_string(const _Alloc& __a);
basic_string(const basic_string& __str);
basic_string(const basic_string& __str, size_type __pos,
size_type __n = npos);
basic_string(const basic_string& __str, size_type __pos,
size_type __n, const _Alloc& __a);
basic_string(const _CharT* __s, size_type __n,
const _Alloc& __a = _Alloc());
basic_string(const _CharT* __s, const _Alloc& __a = _Alloc());
basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc());
template<class _InputIterator>
basic_string(_InputIterator __begin, _InputIterator __end,
const _Alloc& __a = _Alloc());
~basic_string()
{ _M_rep()->_M_dispose(this->get_allocator()); }
basic_string&
operator=(const basic_string& __str) { return this->assign(__str); }
basic_string&
operator=(const _CharT* __s) { return this->assign(__s); }
basic_string&
operator=(_CharT __c) { return this->assign(1, __c); }
iterator
begin()
{
_M_leak();
return iterator(_M_data());
}
const_iterator
begin() const
{ return const_iterator(_M_data()); }
iterator
end()
{
_M_leak();
return iterator(_M_data() + this->size());
}
const_iterator
end() const
{ return const_iterator(_M_data() + this->size()); }
reverse_iterator
rbegin()
{ return reverse_iterator(this->end()); }
const_reverse_iterator
rbegin() const
{ return const_reverse_iterator(this->end()); }
reverse_iterator
rend()
{ return reverse_iterator(this->begin()); }
const_reverse_iterator
rend() const
{ return const_reverse_iterator(this->begin()); }
public:
size_type
size() const { return _M_rep()->_M_length; }
size_type
length() const { return _M_rep()->_M_length; }
size_type
max_size() const { return _Rep::_S_max_size; }
void
resize(size_type __n, _CharT __c);
void
resize(size_type __n) { this->resize(__n, _CharT()); }
size_type
capacity() const { return _M_rep()->_M_capacity; }
void
reserve(size_type __res_arg = 0);
void
clear() { _M_mutate(0, this->size(), 0); }
bool
empty() const { return this->size() == 0; }
const_reference
operator[] (size_type __pos) const
{ return _M_data()[__pos]; }
reference
operator[](size_type __pos)
{
_M_leak();
return _M_data()[__pos];
}
const_reference
at(size_type __n) const
{
if (__n >= this->size())
__throw_out_of_range("basic_string::at");
return _M_data()[__n];
}
reference
at(size_type __n)
{
if (__n >= size())
__throw_out_of_range("basic_string::at");
_M_leak();
return _M_data()[__n];
}
basic_string&
operator+=(const basic_string& __str) { return this->append(__str); }
basic_string&
operator+=(const _CharT* __s) { return this->append(__s); }
basic_string&
operator+=(_CharT __c) { return this->append(size_type(1), __c); }
basic_string&
append(const basic_string& __str);
basic_string&
append(const basic_string& __str, size_type __pos, size_type __n);
basic_string&
append(const _CharT* __s, size_type __n);
basic_string&
append(const _CharT* __s)
{ return this->append(__s, traits_type::length(__s)); }
basic_string&
append(size_type __n, _CharT __c);
template<class _InputIterator>
basic_string&
append(_InputIterator __first, _InputIterator __last)
{ return this->replace(_M_iend(), _M_iend(), __first, __last); }
void
push_back(_CharT __c)
{ this->replace(_M_iend(), _M_iend(), 1, __c); }
basic_string&
assign(const basic_string& __str);
basic_string&
assign(const basic_string& __str, size_type __pos, size_type __n)
{
return this->assign(__str._M_check(__pos), __str._M_fold(__pos, __n));
}
basic_string&
assign(const _CharT* __s, size_type __n)
{ return this->assign(__s, __s + __n); }
basic_string&
assign(const _CharT* __s)
{ return this->assign(__s, __s + traits_type::length(__s)); }
basic_string&
assign(size_type __n, _CharT __c)
{ return this->replace(_M_ibegin(), _M_iend(), __n, __c); }
template<class _InputIterator>
basic_string&
assign(_InputIterator __first, _InputIterator __last)
{ return this->replace(_M_ibegin(), _M_iend(), __first, __last); }
void
insert(iterator __p, size_type __n, _CharT __c)
{ this->replace(__p, __p, __n, __c); }
template<class _InputIterator>
void insert(iterator __p, _InputIterator __beg, _InputIterator __end)
{ this->replace(__p, __p, __beg, __end); }
basic_string&
insert(size_type __pos1, const basic_string& __str)
{
iterator __p = _M_check(__pos1);
this->replace(__p, __p, __str._M_ibegin(), __str._M_iend());
return *this;
}
basic_string&
insert(size_type __pos1, const basic_string& __str,
size_type __pos2, size_type __n)
{
iterator __p = _M_check(__pos1);
this->replace(__p, __p, __str._M_check(__pos2),
__str._M_fold(__pos2, __n));
return *this;
}
basic_string&
insert(size_type __pos, const _CharT* __s, size_type __n)
{
iterator __p = _M_check(__pos);
this->replace(__p, __p, __s, __s + __n);
return *this;
}
basic_string&
insert(size_type __pos, const _CharT* __s)
{ return this->insert(__pos, __s, traits_type::length(__s)); }
basic_string&
insert(size_type __pos, size_type __n, _CharT __c)
{
this->insert(_M_check(__pos), __n, __c);
return *this;
}
iterator
insert(iterator __p, _CharT __c = _CharT())
{
size_type __pos = __p - _M_ibegin();
this->insert(_M_check(__pos), size_type(1), __c);
_M_rep()->_M_set_leaked();
return this->_M_ibegin() + __pos;
}
basic_string&
erase(size_type __pos = 0, size_type __n = npos)
{
return this->replace(_M_check(__pos), _M_fold(__pos, __n),
_M_data(), _M_data());
}
iterator
erase(iterator __position)
{
size_type __i = __position - _M_ibegin();
this->replace(__position, __position + 1, _M_data(), _M_data());
_M_rep()->_M_set_leaked();
return _M_ibegin() + __i;
}
iterator
erase(iterator __first, iterator __last)
{
size_type __i = __first - _M_ibegin();
this->replace(__first, __last, _M_data(), _M_data());
_M_rep()->_M_set_leaked();
return _M_ibegin() + __i;
}
basic_string&
replace(size_type __pos, size_type __n, const basic_string& __str)
{
return this->replace(_M_check(__pos), _M_fold(__pos, __n),
__str.begin(), __str.end());
}
basic_string&
replace(size_type __pos1, size_type __n1, const basic_string& __str,
size_type __pos2, size_type __n2);
basic_string&
replace(size_type __pos, size_type __n1, const _CharT* __s,
size_type __n2)
{
return this->replace(_M_check(__pos), _M_fold(__pos, __n1),
__s, __s + __n2);
}
basic_string&
replace(size_type __pos, size_type __n1, const _CharT* __s)
{
return this->replace(_M_check(__pos), _M_fold(__pos, __n1),
__s, __s + traits_type::length(__s));
}
basic_string&
replace(size_type __pos, size_type __n1, size_type __n2, _CharT __c)
{
return this->replace(_M_check(__pos), _M_fold(__pos, __n1), __n2, __c);
}
basic_string&
replace(iterator __i1, iterator __i2, const basic_string& __str)
{ return this->replace(__i1, __i2, __str.begin(), __str.end()); }
basic_string&
replace(iterator __i1, iterator __i2,
const _CharT* __s, size_type __n)
{ return this->replace(__i1, __i2, __s, __s + __n); }
basic_string&
replace(iterator __i1, iterator __i2, const _CharT* __s)
{ return this->replace(__i1, __i2, __s,
__s + traits_type::length(__s)); }
basic_string&
replace(iterator __i1, iterator __i2, size_type __n, _CharT __c);
template<class _InputIterator>
basic_string&
replace(iterator __i1, iterator __i2,
_InputIterator __k1, _InputIterator __k2)
{ return _M_replace(__i1, __i2, __k1, __k2,
typename iterator_traits<_InputIterator>::iterator_category()); }
private:
template<class _InputIterator>
basic_string&
_M_replace(iterator __i1, iterator __i2, _InputIterator __k1,
_InputIterator __k2, input_iterator_tag);
template<class _FwdIterator>
basic_string&
_M_replace(iterator __i1, iterator __i2, _FwdIterator __k1,
_FwdIterator __k2, forward_iterator_tag);
template<class _InIter>
static _CharT*
_S_construct_aux(_InIter __beg, _InIter __end, const _Alloc& __a,
__false_type)
{
typedef typename iterator_traits<_InIter>::iterator_category _Tag;
return _S_construct(__beg, __end, __a, _Tag());
}
template<class _InIter>
static _CharT*
_S_construct_aux(_InIter __beg, _InIter __end, const _Alloc& __a,
__true_type)
{
return _S_construct(static_cast<size_type>(__beg),
static_cast<value_type>(__end), __a);
}
template<class _InIter>
static _CharT*
_S_construct(_InIter __beg, _InIter __end, const _Alloc& __a)
{
typedef typename _Is_integer<_InIter>::_Integral _Integral;
return _S_construct_aux(__beg, __end, __a, _Integral());
}
template<class _InIter>
static _CharT*
_S_construct(_InIter __beg, _InIter __end, const _Alloc& __a,
input_iterator_tag);
template<class _FwdIter>
static _CharT*
_S_construct(_FwdIter __end, _FwdIter __beg, const _Alloc& __a,
forward_iterator_tag);
static _CharT*
_S_construct(size_type __req, _CharT __c, const _Alloc& __a);
public:
size_type
copy(_CharT* __s, size_type __n, size_type __pos = 0) const;
void
swap(basic_string<_CharT, _Traits, _Alloc>& __s);
const _CharT*
c_str() const
{
size_type __n = this->size();
traits_type::assign(_M_data()[__n], _Rep::_S_terminal);
return _M_data();
}
const _CharT*
data() const { return _M_data(); }
allocator_type
get_allocator() const { return _M_dataplus; }
size_type
find(const _CharT* __s, size_type __pos, size_type __n) const;
size_type
find(const basic_string& __str, size_type __pos = 0) const
{ return this->find(__str.data(), __pos, __str.size()); }
size_type
find(const _CharT* __s, size_type __pos = 0) const
{ return this->find(__s, __pos, traits_type::length(__s)); }
size_type
find(_CharT __c, size_type __pos = 0) const;
size_type
rfind(const basic_string& __str, size_type __pos = npos) const
{ return this->rfind(__str.data(), __pos, __str.size()); }
size_type
rfind(const _CharT* __s, size_type __pos, size_type __n) const;
size_type
rfind(const _CharT* __s, size_type __pos = npos) const
{ return this->rfind(__s, __pos, traits_type::length(__s)); }
size_type
rfind(_CharT __c, size_type __pos = npos) const;
size_type
find_first_of(const basic_string& __str, size_type __pos = 0) const
{ return this->find_first_of(__str.data(), __pos, __str.size()); }
size_type
find_first_of(const _CharT* __s, size_type __pos, size_type __n) const;
size_type
find_first_of(const _CharT* __s, size_type __pos = 0) const
{ return this->find_first_of(__s, __pos, traits_type::length(__s)); }
size_type
find_first_of(_CharT __c, size_type __pos = 0) const
{ return this->find(__c, __pos); }
size_type
find_last_of(const basic_string& __str, size_type __pos = npos) const
{ return this->find_last_of(__str.data(), __pos, __str.size()); }
size_type
find_last_of(const _CharT* __s, size_type __pos, size_type __n) const;
size_type
find_last_of(const _CharT* __s, size_type __pos = npos) const
{ return this->find_last_of(__s, __pos, traits_type::length(__s)); }
size_type
find_last_of(_CharT __c, size_type __pos = npos) const
{ return this->rfind(__c, __pos); }
size_type
find_first_not_of(const basic_string& __str, size_type __pos = 0) const
{ return this->find_first_not_of(__str.data(), __pos, __str.size()); }
size_type
find_first_not_of(const _CharT* __s, size_type __pos,
size_type __n) const;
size_type
find_first_not_of(const _CharT* __s, size_type __pos = 0) const
{ return this->find_first_not_of(__s, __pos, traits_type::length(__s)); }
size_type
find_first_not_of(_CharT __c, size_type __pos = 0) const;
size_type
find_last_not_of(const basic_string& __str, size_type __pos = npos) const
{ return this->find_last_not_of(__str.data(), __pos, __str.size()); }
size_type
find_last_not_of(const _CharT* __s, size_type __pos,
size_type __n) const;
size_type
find_last_not_of(const _CharT* __s, size_type __pos = npos) const
{ return this->find_last_not_of(__s, __pos, traits_type::length(__s)); }
size_type
find_last_not_of(_CharT __c, size_type __pos = npos) const;
basic_string
substr(size_type __pos = 0, size_type __n = npos) const
{
if (__pos > this->size())
__throw_out_of_range("basic_string::substr");
return basic_string(*this, __pos, __n);
}
int
compare(const basic_string& __str) const
{
size_type __size = this->size();
size_type __osize = __str.size();
size_type __len = min(__size, __osize);
int __r = traits_type::compare(_M_data(), __str.data(), __len);
if (!__r)
__r = __size - __osize;
return __r;
}
int
compare(size_type __pos, size_type __n, const basic_string& __str) const;
int
compare(size_type __pos1, size_type __n1, const basic_string& __str,
size_type __pos2, size_type __n2) const;
int
compare(const _CharT* __s) const;
int
compare(size_type __pos, size_type __n1, const _CharT* __s) const;
int
compare(size_type __pos, size_type __n1, const _CharT* __s,
size_type __n2) const;
};
template<typename _CharT, typename _Traits, typename _Alloc>
inline basic_string<_CharT, _Traits, _Alloc>::
basic_string()
: _M_dataplus(_S_empty_rep()._M_refcopy(), _Alloc()) { }
template<typename _CharT, typename _Traits, typename _Alloc>
basic_string<_CharT, _Traits, _Alloc>
operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
const basic_string<_CharT, _Traits, _Alloc>& __rhs)
{
basic_string<_CharT, _Traits, _Alloc> __str(__lhs);
__str.append(__rhs);
return __str;
}
template<typename _CharT, typename _Traits, typename _Alloc>
basic_string<_CharT,_Traits,_Alloc>
operator+(const _CharT* __lhs,
const basic_string<_CharT,_Traits,_Alloc>& __rhs);
template<typename _CharT, typename _Traits, typename _Alloc>
basic_string<_CharT,_Traits,_Alloc>
operator+(_CharT __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs);
template<typename _CharT, typename _Traits, typename _Alloc>
inline basic_string<_CharT, _Traits, _Alloc>
operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
const _CharT* __rhs)
{
basic_string<_CharT, _Traits, _Alloc> __str(__lhs);
__str.append(__rhs);
return __str;
}
template<typename _CharT, typename _Traits, typename _Alloc>
inline basic_string<_CharT, _Traits, _Alloc>
operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, _CharT __rhs)
{
typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
typedef typename __string_type::size_type __size_type;
__string_type __str(__lhs);
__str.append(__size_type(1), __rhs);
return __str;
}
template<typename _CharT, typename _Traits, typename _Alloc>
inline bool
operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
const basic_string<_CharT, _Traits, _Alloc>& __rhs)
{ return __lhs.compare(__rhs) == 0; }
template<typename _CharT, typename _Traits, typename _Alloc>
inline bool
operator==(const _CharT* __lhs,
const basic_string<_CharT, _Traits, _Alloc>& __rhs)
{ return __rhs.compare(__lhs) == 0; }
template<typename _CharT, typename _Traits, typename _Alloc>
inline bool
operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
const _CharT* __rhs)
{ return __lhs.compare(__rhs) == 0; }
template<typename _CharT, typename _Traits, typename _Alloc>
inline bool
operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
const basic_string<_CharT, _Traits, _Alloc>& __rhs)
{ return __rhs.compare(__lhs) != 0; }
template<typename _CharT, typename _Traits, typename _Alloc>
inline bool
operator!=(const _CharT* __lhs,
const basic_string<_CharT, _Traits, _Alloc>& __rhs)
{ return __rhs.compare(__lhs) != 0; }
template<typename _CharT, typename _Traits, typename _Alloc>
inline bool
operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
const _CharT* __rhs)
{ return __lhs.compare(__rhs) != 0; }
template<typename _CharT, typename _Traits, typename _Alloc>
inline bool
operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
const basic_string<_CharT, _Traits, _Alloc>& __rhs)
{ return __lhs.compare(__rhs) < 0; }
template<typename _CharT, typename _Traits, typename _Alloc>
inline bool
operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
const _CharT* __rhs)
{ return __lhs.compare(__rhs) < 0; }
template<typename _CharT, typename _Traits, typename _Alloc>
inline bool
operator<(const _CharT* __lhs,
const basic_string<_CharT, _Traits, _Alloc>& __rhs)
{ return __rhs.compare(__lhs) > 0; }
template<typename _CharT, typename _Traits, typename _Alloc>
inline bool
operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
const basic_string<_CharT, _Traits, _Alloc>& __rhs)
{ return __lhs.compare(__rhs) > 0; }
template<typename _CharT, typename _Traits, typename _Alloc>
inline bool
operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
const _CharT* __rhs)
{ return __lhs.compare(__rhs) > 0; }
template<typename _CharT, typename _Traits, typename _Alloc>
inline bool
operator>(const _CharT* __lhs,
const basic_string<_CharT, _Traits, _Alloc>& __rhs)
{ return __rhs.compare(__lhs) < 0; }
template<typename _CharT, typename _Traits, typename _Alloc>
inline bool
operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
const basic_string<_CharT, _Traits, _Alloc>& __rhs)
{ return __lhs.compare(__rhs) <= 0; }
template<typename _CharT, typename _Traits, typename _Alloc>
inline bool
operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
const _CharT* __rhs)
{ return __lhs.compare(__rhs) <= 0; }
template<typename _CharT, typename _Traits, typename _Alloc>
inline bool
operator<=(const _CharT* __lhs,
const basic_string<_CharT, _Traits, _Alloc>& __rhs)
{ return __rhs.compare(__lhs) >= 0; }
template<typename _CharT, typename _Traits, typename _Alloc>
inline bool
operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
const basic_string<_CharT, _Traits, _Alloc>& __rhs)
{ return __lhs.compare(__rhs) >= 0; }
template<typename _CharT, typename _Traits, typename _Alloc>
inline bool
operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
const _CharT* __rhs)
{ return __lhs.compare(__rhs) >= 0; }
template<typename _CharT, typename _Traits, typename _Alloc>
inline bool
operator>=(const _CharT* __lhs,
const basic_string<_CharT, _Traits, _Alloc>& __rhs)
{ return __rhs.compare(__lhs) <= 0; }
template<typename _CharT, typename _Traits, typename _Alloc>
inline void
swap(basic_string<_CharT, _Traits, _Alloc>& __lhs,
basic_string<_CharT, _Traits, _Alloc>& __rhs)
{ __lhs.swap(__rhs); }
template<typename _CharT, typename _Traits, typename _Alloc>
basic_istream<_CharT, _Traits>&
operator>>(basic_istream<_CharT, _Traits>& __is,
basic_string<_CharT, _Traits, _Alloc>& __str);
template<typename _CharT, typename _Traits, typename _Alloc>
basic_ostream<_CharT, _Traits>&
operator<<(basic_ostream<_CharT, _Traits>& __os,
const basic_string<_CharT, _Traits, _Alloc>& __str);
template<typename _CharT, typename _Traits, typename _Alloc>
basic_istream<_CharT,_Traits>&
getline(basic_istream<_CharT, _Traits>& __is,
basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim);
template<typename _CharT, typename _Traits, typename _Alloc>
inline basic_istream<_CharT,_Traits>&
getline(basic_istream<_CharT, _Traits>& __is,
basic_string<_CharT, _Traits, _Alloc>& __str);
}
# 47 "/opt/egcs/include/g++-v3/bits/std_string.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/std_algorithm.h" 1 3
# 60 "/opt/egcs/include/g++-v3/bits/std_algorithm.h" 3
# 1 "/opt/egcs/include/g++-v3/bits/stl_algobase.h" 1 3
# 62 "/opt/egcs/include/g++-v3/bits/std_algorithm.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/stl_construct.h" 1 3
# 63 "/opt/egcs/include/g++-v3/bits/std_algorithm.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/stl_uninitialized.h" 1 3
# 64 "/opt/egcs/include/g++-v3/bits/std_algorithm.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/stl_tempbuf.h" 1 3
# 65 "/opt/egcs/include/g++-v3/bits/std_algorithm.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/stl_algo.h" 1 3
# 63 "/opt/egcs/include/g++-v3/bits/stl_algo.h" 3
# 1 "/opt/egcs/include/g++-v3/bits/stl_heap.h" 1 3
# 62 "/opt/egcs/include/g++-v3/bits/stl_heap.h" 3
namespace std
{
template <class _RandomAccessIterator, class _Distance, class _Tp>
void
__push_heap(_RandomAccessIterator __first,
_Distance __holeIndex, _Distance __topIndex, _Tp __value)
{
_Distance __parent = (__holeIndex - 1) / 2;
while (__holeIndex > __topIndex && *(__first + __parent) < __value) {
*(__first + __holeIndex) = *(__first + __parent);
__holeIndex = __parent;
__parent = (__holeIndex - 1) / 2;
}
*(__first + __holeIndex) = __value;
}
template <class _RandomAccessIterator, class _Distance, class _Tp>
inline void
__push_heap_aux(_RandomAccessIterator __first,
_RandomAccessIterator __last, _Distance*, _Tp*)
{
__push_heap(__first, _Distance((__last - __first) - 1), _Distance(0),
_Tp(*(__last - 1)));
}
template <class _RandomAccessIterator>
inline void
push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
{
;
;
__push_heap_aux(__first, __last,
__distance_type(__first), __value_type(__first));
}
template <class _RandomAccessIterator, class _Distance, class _Tp,
class _Compare>
void
__push_heap(_RandomAccessIterator __first, _Distance __holeIndex,
_Distance __topIndex, _Tp __value, _Compare __comp)
{
_Distance __parent = (__holeIndex - 1) / 2;
while (__holeIndex > __topIndex && __comp(*(__first + __parent), __value)) {
*(__first + __holeIndex) = *(__first + __parent);
__holeIndex = __parent;
__parent = (__holeIndex - 1) / 2;
}
*(__first + __holeIndex) = __value;
}
template <class _RandomAccessIterator, class _Compare,
class _Distance, class _Tp>
inline void
__push_heap_aux(_RandomAccessIterator __first,
_RandomAccessIterator __last, _Compare __comp,
_Distance*, _Tp*)
{
__push_heap(__first, _Distance((__last - __first) - 1), _Distance(0),
_Tp(*(__last - 1)), __comp);
}
template <class _RandomAccessIterator, class _Compare>
inline void
push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
_Compare __comp)
{
;
__push_heap_aux(__first, __last, __comp,
__distance_type(__first), __value_type(__first));
}
template <class _RandomAccessIterator, class _Distance, class _Tp>
void
__adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex,
_Distance __len, _Tp __value)
{
_Distance __topIndex = __holeIndex;
_Distance __secondChild = 2 * __holeIndex + 2;
while (__secondChild < __len) {
if (*(__first + __secondChild) < *(__first + (__secondChild - 1)))
__secondChild--;
*(__first + __holeIndex) = *(__first + __secondChild);
__holeIndex = __secondChild;
__secondChild = 2 * (__secondChild + 1);
}
if (__secondChild == __len) {
*(__first + __holeIndex) = *(__first + (__secondChild - 1));
__holeIndex = __secondChild - 1;
}
__push_heap(__first, __holeIndex, __topIndex, __value);
}
template <class _RandomAccessIterator, class _Tp, class _Distance>
inline void
__pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
_RandomAccessIterator __result, _Tp __value, _Distance*)
{
*__result = *__first;
__adjust_heap(__first, _Distance(0), _Distance(__last - __first), __value);
}
template <class _RandomAccessIterator, class _Tp>
inline void
__pop_heap_aux(_RandomAccessIterator __first, _RandomAccessIterator __last,
_Tp*)
{
__pop_heap(__first, __last - 1, __last - 1,
_Tp(*(__last - 1)), __distance_type(__first));
}
template <class _RandomAccessIterator>
inline void pop_heap(_RandomAccessIterator __first,
_RandomAccessIterator __last)
{
;
;
__pop_heap_aux(__first, __last, __value_type(__first));
}
template <class _RandomAccessIterator, class _Distance,
class _Tp, class _Compare>
void
__adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex,
_Distance __len, _Tp __value, _Compare __comp)
{
_Distance __topIndex = __holeIndex;
_Distance __secondChild = 2 * __holeIndex + 2;
while (__secondChild < __len) {
if (__comp(*(__first + __secondChild), *(__first + (__secondChild - 1))))
__secondChild--;
*(__first + __holeIndex) = *(__first + __secondChild);
__holeIndex = __secondChild;
__secondChild = 2 * (__secondChild + 1);
}
if (__secondChild == __len) {
*(__first + __holeIndex) = *(__first + (__secondChild - 1));
__holeIndex = __secondChild - 1;
}
__push_heap(__first, __holeIndex, __topIndex, __value, __comp);
}
template <class _RandomAccessIterator, class _Tp, class _Compare,
class _Distance>
inline void
__pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
_RandomAccessIterator __result, _Tp __value, _Compare __comp,
_Distance*)
{
*__result = *__first;
__adjust_heap(__first, _Distance(0), _Distance(__last - __first),
__value, __comp);
}
template <class _RandomAccessIterator, class _Tp, class _Compare>
inline void
__pop_heap_aux(_RandomAccessIterator __first,
_RandomAccessIterator __last, _Tp*, _Compare __comp)
{
__pop_heap(__first, __last - 1, __last - 1, _Tp(*(__last - 1)), __comp,
__distance_type(__first));
}
template <class _RandomAccessIterator, class _Compare>
inline void
pop_heap(_RandomAccessIterator __first,
_RandomAccessIterator __last, _Compare __comp)
{
;
__pop_heap_aux(__first, __last, __value_type(__first), __comp);
}
template <class _RandomAccessIterator, class _Tp, class _Distance>
void
__make_heap(_RandomAccessIterator __first,
_RandomAccessIterator __last, _Tp*, _Distance*)
{
if (__last - __first < 2) return;
_Distance __len = __last - __first;
_Distance __parent = (__len - 2)/2;
while (true) {
__adjust_heap(__first, __parent, __len, _Tp(*(__first + __parent)));
if (__parent == 0) return;
__parent--;
}
}
template <class _RandomAccessIterator>
inline void
make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
{
;
;
__make_heap(__first, __last,
__value_type(__first), __distance_type(__first));
}
template <class _RandomAccessIterator, class _Compare,
class _Tp, class _Distance>
void
__make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
_Compare __comp, _Tp*, _Distance*)
{
if (__last - __first < 2) return;
_Distance __len = __last - __first;
_Distance __parent = (__len - 2)/2;
while (true) {
__adjust_heap(__first, __parent, __len, _Tp(*(__first + __parent)),
__comp);
if (__parent == 0) return;
__parent--;
}
}
template <class _RandomAccessIterator, class _Compare>
inline void
make_heap(_RandomAccessIterator __first,
_RandomAccessIterator __last, _Compare __comp)
{
;
__make_heap(__first, __last, __comp,
__value_type(__first), __distance_type(__first));
}
template <class _RandomAccessIterator>
void sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
{
;
;
while (__last - __first > 1)
pop_heap(__first, __last--);
}
template <class _RandomAccessIterator, class _Compare>
void
sort_heap(_RandomAccessIterator __first,
_RandomAccessIterator __last, _Compare __comp)
{
;
while (__last - __first > 1)
pop_heap(__first, __last--, __comp);
}
}
# 64 "/opt/egcs/include/g++-v3/bits/stl_algo.h" 2 3
namespace std
{
template <class _Tp>
inline const _Tp& __median(const _Tp& __a, const _Tp& __b, const _Tp& __c)
{
;
if (__a < __b)
if (__b < __c)
return __b;
else if (__a < __c)
return __c;
else
return __a;
else if (__a < __c)
return __a;
else if (__b < __c)
return __c;
else
return __b;
}
template <class _Tp, class _Compare>
inline const _Tp&
__median(const _Tp& __a, const _Tp& __b, const _Tp& __c, _Compare __comp)
{
;
if (__comp(__a, __b))
if (__comp(__b, __c))
return __b;
else if (__comp(__a, __c))
return __c;
else
return __a;
else if (__comp(__a, __c))
return __a;
else if (__comp(__b, __c))
return __c;
else
return __b;
}
template <class _InputIter, class _Function>
_Function for_each(_InputIter __first, _InputIter __last, _Function __f)
{
;
for ( ; __first != __last; ++__first)
__f(*__first);
return __f;
}
template <class _InputIter, class _Tp>
inline _InputIter find(_InputIter __first, _InputIter __last,
const _Tp& __val,
input_iterator_tag)
{
while (__first != __last && !(*__first == __val))
++__first;
return __first;
}
template <class _InputIter, class _Predicate>
inline _InputIter find_if(_InputIter __first, _InputIter __last,
_Predicate __pred,
input_iterator_tag)
{
while (__first != __last && !__pred(*__first))
++__first;
return __first;
}
template <class _RandomAccessIter, class _Tp>
_RandomAccessIter find(_RandomAccessIter __first, _RandomAccessIter __last,
const _Tp& __val,
random_access_iterator_tag)
{
typename iterator_traits<_RandomAccessIter>::difference_type __trip_count
= (__last - __first) >> 2;
for ( ; __trip_count > 0 ; --__trip_count) {
if (*__first == __val) return __first;
++__first;
if (*__first == __val) return __first;
++__first;
if (*__first == __val) return __first;
++__first;
if (*__first == __val) return __first;
++__first;
}
switch(__last - __first) {
case 3:
if (*__first == __val) return __first;
++__first;
case 2:
if (*__first == __val) return __first;
++__first;
case 1:
if (*__first == __val) return __first;
++__first;
case 0:
default:
return __last;
}
}
template <class _RandomAccessIter, class _Predicate>
_RandomAccessIter find_if(_RandomAccessIter __first, _RandomAccessIter __last,
_Predicate __pred,
random_access_iterator_tag)
{
typename iterator_traits<_RandomAccessIter>::difference_type __trip_count
= (__last - __first) >> 2;
for ( ; __trip_count > 0 ; --__trip_count) {
if (__pred(*__first)) return __first;
++__first;
if (__pred(*__first)) return __first;
++__first;
if (__pred(*__first)) return __first;
++__first;
if (__pred(*__first)) return __first;
++__first;
}
switch(__last - __first) {
case 3:
if (__pred(*__first)) return __first;
++__first;
case 2:
if (__pred(*__first)) return __first;
++__first;
case 1:
if (__pred(*__first)) return __first;
++__first;
case 0:
default:
return __last;
}
}
template <class _InputIter, class _Tp>
inline _InputIter find(_InputIter __first, _InputIter __last,
const _Tp& __val)
{
;
;
return find(__first, __last, __val, __iterator_category(__first));
}
template <class _InputIter, class _Predicate>
inline _InputIter find_if(_InputIter __first, _InputIter __last,
_Predicate __pred)
{
;
;
return find_if(__first, __last, __pred, __iterator_category(__first));
}
template <class _ForwardIter>
_ForwardIter adjacent_find(_ForwardIter __first, _ForwardIter __last)
{
;
;
if (__first == __last)
return __last;
_ForwardIter __next = __first;
while(++__next != __last) {
if (*__first == *__next)
return __first;
__first = __next;
}
return __last;
}
template <class _ForwardIter, class _BinaryPredicate>
_ForwardIter adjacent_find(_ForwardIter __first, _ForwardIter __last,
_BinaryPredicate __binary_pred)
{
;
;
if (__first == __last)
return __last;
_ForwardIter __next = __first;
while(++__next != __last) {
if (__binary_pred(*__first, *__next))
return __first;
__first = __next;
}
return __last;
}
template <class _InputIter, class _Tp, class _Size>
void count(_InputIter __first, _InputIter __last, const _Tp& __value,
_Size& __n)
{
;
;
;
for ( ; __first != __last; ++__first)
if (*__first == __value)
++__n;
}
template <class _InputIter, class _Predicate, class _Size>
void count_if(_InputIter __first, _InputIter __last, _Predicate __pred,
_Size& __n)
{
;
;
for ( ; __first != __last; ++__first)
if (__pred(*__first))
++__n;
}
template <class _InputIter, class _Tp>
typename iterator_traits<_InputIter>::difference_type
count(_InputIter __first, _InputIter __last, const _Tp& __value)
{
;
;
;
typename iterator_traits<_InputIter>::difference_type __n = 0;
for ( ; __first != __last; ++__first)
if (*__first == __value)
++__n;
return __n;
}
template <class _InputIter, class _Predicate>
typename iterator_traits<_InputIter>::difference_type
count_if(_InputIter __first, _InputIter __last, _Predicate __pred)
{
;
;
typename iterator_traits<_InputIter>::difference_type __n = 0;
for ( ; __first != __last; ++__first)
if (__pred(*__first))
++__n;
return __n;
}
template <class _ForwardIter1, class _ForwardIter2>
_ForwardIter1 search(_ForwardIter1 __first1, _ForwardIter1 __last1,
_ForwardIter2 __first2, _ForwardIter2 __last2)
{
;
;
;
if (__first1 == __last1 || __first2 == __last2)
return __first1;
_ForwardIter2 __tmp(__first2);
++__tmp;
if (__tmp == __last2)
return find(__first1, __last1, *__first2);
_ForwardIter2 __p1, __p;
__p1 = __first2; ++__p1;
_ForwardIter1 __current = __first1;
while (__first1 != __last1) {
__first1 = find(__first1, __last1, *__first2);
if (__first1 == __last1)
return __last1;
__p = __p1;
__current = __first1;
if (++__current == __last1)
return __last1;
while (*__current == *__p) {
if (++__p == __last2)
return __first1;
if (++__current == __last1)
return __last1;
}
++__first1;
}
return __first1;
}
template <class _ForwardIter1, class _ForwardIter2, class _BinaryPred>
_ForwardIter1 search(_ForwardIter1 __first1, _ForwardIter1 __last1,
_ForwardIter2 __first2, _ForwardIter2 __last2,
_BinaryPred __predicate)
{
;
;
;
if (__first1 == __last1 || __first2 == __last2)
return __first1;
_ForwardIter2 __tmp(__first2);
++__tmp;
if (__tmp == __last2) {
while (__first1 != __last1 && !__predicate(*__first1, *__first2))
++__first1;
return __first1;
}
_ForwardIter2 __p1, __p;
__p1 = __first2; ++__p1;
_ForwardIter1 __current = __first1;
while (__first1 != __last1) {
while (__first1 != __last1) {
if (__predicate(*__first1, *__first2))
break;
++__first1;
}
while (__first1 != __last1 && !__predicate(*__first1, *__first2))
++__first1;
if (__first1 == __last1)
return __last1;
__p = __p1;
__current = __first1;
if (++__current == __last1) return __last1;
while (__predicate(*__current, *__p)) {
if (++__p == __last2)
return __first1;
if (++__current == __last1)
return __last1;
}
++__first1;
}
return __first1;
}
template <class _ForwardIter, class _Integer, class _Tp>
_ForwardIter search_n(_ForwardIter __first, _ForwardIter __last,
_Integer __count, const _Tp& __val)
{
;
;
;
if (__count <= 0)
return __first;
else {
__first = find(__first, __last, __val);
while (__first != __last) {
_Integer __n = __count - 1;
_ForwardIter __i = __first;
++__i;
while (__i != __last && __n != 0 && *__i == __val) {
++__i;
--__n;
}
if (__n == 0)
return __first;
else
__first = find(__i, __last, __val);
}
return __last;
}
}
template <class _ForwardIter, class _Integer, class _Tp, class _BinaryPred>
_ForwardIter search_n(_ForwardIter __first, _ForwardIter __last,
_Integer __count, const _Tp& __val,
_BinaryPred __binary_pred)
{
;
;
if (__count <= 0)
return __first;
else {
while (__first != __last) {
if (__binary_pred(*__first, __val))
break;
++__first;
}
while (__first != __last) {
_Integer __n = __count - 1;
_ForwardIter __i = __first;
++__i;
while (__i != __last && __n != 0 && __binary_pred(*__i, __val)) {
++__i;
--__n;
}
if (__n == 0)
return __first;
else {
while (__i != __last) {
if (__binary_pred(*__i, __val))
break;
++__i;
}
__first = __i;
}
}
return __last;
}
}
template <class _ForwardIter1, class _ForwardIter2>
_ForwardIter2 swap_ranges(_ForwardIter1 __first1, _ForwardIter1 __last1,
_ForwardIter2 __first2)
{
;
;
;
;
for ( ; __first1 != __last1; ++__first1, ++__first2)
iter_swap(__first1, __first2);
return __first2;
}
template <class _InputIter, class _OutputIter, class _UnaryOperation>
_OutputIter transform(_InputIter __first, _InputIter __last,
_OutputIter __result, _UnaryOperation __unary_op)
{
;
for ( ; __first != __last; ++__first, ++__result)
*__result = __unary_op(*__first);
return __result;
}
template <class _InputIter1, class _InputIter2, class _OutputIter,
class _BinaryOperation>
_OutputIter transform(_InputIter1 __first1, _InputIter1 __last1,
_InputIter2 __first2, _OutputIter __result,
_BinaryOperation __binary_op)
{
;
;
for ( ; __first1 != __last1; ++__first1, ++__first2, ++__result)
*__result = __binary_op(*__first1, *__first2);
return __result;
}
template <class _ForwardIter, class _Tp>
void replace(_ForwardIter __first, _ForwardIter __last,
const _Tp& __old_value, const _Tp& __new_value)
{
;
;
;
for ( ; __first != __last; ++__first)
if (*__first == __old_value)
*__first = __new_value;
}
template <class _ForwardIter, class _Predicate, class _Tp>
void replace_if(_ForwardIter __first, _ForwardIter __last,
_Predicate __pred, const _Tp& __new_value)
{
;
;
;
for ( ; __first != __last; ++__first)
if (__pred(*__first))
*__first = __new_value;
}
template <class _InputIter, class _OutputIter, class _Tp>
_OutputIter replace_copy(_InputIter __first, _InputIter __last,
_OutputIter __result,
const _Tp& __old_value, const _Tp& __new_value)
{
;
;
;
for ( ; __first != __last; ++__first, ++__result)
*__result = *__first == __old_value ? __new_value : *__first;
return __result;
}
template <class _InputIter, class _OutputIter, class _Predicate, class _Tp>
_OutputIter replace_copy_if(_InputIter __first, _InputIter __last,
_OutputIter __result,
_Predicate __pred, const _Tp& __new_value)
{
;
;
;
for ( ; __first != __last; ++__first, ++__result)
*__result = __pred(*__first) ? __new_value : *__first;
return __result;
}
template <class _ForwardIter, class _Generator>
void generate(_ForwardIter __first, _ForwardIter __last, _Generator __gen)
{
;
;
for ( ; __first != __last; ++__first)
*__first = __gen();
}
template <class _OutputIter, class _Size, class _Generator>
_OutputIter generate_n(_OutputIter __first, _Size __n, _Generator __gen)
{
for ( ; __n > 0; --__n, ++__first)
*__first = __gen();
return __first;
}
template <class _InputIter, class _OutputIter, class _Tp>
_OutputIter remove_copy(_InputIter __first, _InputIter __last,
_OutputIter __result, const _Tp& __value)
{
;
;
;
for ( ; __first != __last; ++__first)
if (!(*__first == __value)) {
*__result = *__first;
++__result;
}
return __result;
}
template <class _InputIter, class _OutputIter, class _Predicate>
_OutputIter remove_copy_if(_InputIter __first, _InputIter __last,
_OutputIter __result, _Predicate __pred)
{
;
;
;
for ( ; __first != __last; ++__first)
if (!__pred(*__first)) {
*__result = *__first;
++__result;
}
return __result;
}
template <class _ForwardIter, class _Tp>
_ForwardIter remove(_ForwardIter __first, _ForwardIter __last,
const _Tp& __value)
{
;
;
;
__first = find(__first, __last, __value);
_ForwardIter __i = __first;
return __first == __last ? __first
: remove_copy(++__i, __last, __first, __value);
}
template <class _ForwardIter, class _Predicate>
_ForwardIter remove_if(_ForwardIter __first, _ForwardIter __last,
_Predicate __pred)
{
;
;
__first = find_if(__first, __last, __pred);
_ForwardIter __i = __first;
return __first == __last ? __first
: remove_copy_if(++__i, __last, __first, __pred);
}
template <class _InputIter, class _OutputIter, class _Tp>
_OutputIter __unique_copy(_InputIter __first, _InputIter __last,
_OutputIter __result, _Tp*)
{
_Tp __value = *__first;
*__result = __value;
while (++__first != __last)
if (!(__value == *__first)) {
__value = *__first;
*++__result = __value;
}
return ++__result;
}
template <class _InputIter, class _OutputIter>
inline _OutputIter __unique_copy(_InputIter __first, _InputIter __last,
_OutputIter __result,
output_iterator_tag)
{
return __unique_copy(__first, __last, __result, __value_type(__first));
}
template <class _InputIter, class _ForwardIter>
_ForwardIter __unique_copy(_InputIter __first, _InputIter __last,
_ForwardIter __result, forward_iterator_tag)
{
*__result = *__first;
while (++__first != __last)
if (!(*__result == *__first))
*++__result = *__first;
return ++__result;
}
template <class _InputIter, class _OutputIter>
inline _OutputIter unique_copy(_InputIter __first, _InputIter __last,
_OutputIter __result)
{
;
;
;
if (__first == __last) return __result;
return __unique_copy(__first, __last, __result,
__iterator_category(__result));
}
template <class _InputIter, class _OutputIter, class _BinaryPredicate,
class _Tp>
_OutputIter __unique_copy(_InputIter __first, _InputIter __last,
_OutputIter __result,
_BinaryPredicate __binary_pred, _Tp*)
{
;
_Tp __value = *__first;
*__result = __value;
while (++__first != __last)
if (!__binary_pred(__value, *__first)) {
__value = *__first;
*++__result = __value;
}
return ++__result;
}
template <class _InputIter, class _OutputIter, class _BinaryPredicate>
inline _OutputIter __unique_copy(_InputIter __first, _InputIter __last,
_OutputIter __result,
_BinaryPredicate __binary_pred,
output_iterator_tag)
{
return __unique_copy(__first, __last, __result, __binary_pred,
__value_type(__first));
}
template <class _InputIter, class _ForwardIter, class _BinaryPredicate>
_ForwardIter __unique_copy(_InputIter __first, _InputIter __last,
_ForwardIter __result,
_BinaryPredicate __binary_pred,
forward_iterator_tag)
{
;
*__result = *__first;
while (++__first != __last)
if (!__binary_pred(*__result, *__first)) *++__result = *__first;
return ++__result;
}
template <class _InputIter, class _OutputIter, class _BinaryPredicate>
inline _OutputIter unique_copy(_InputIter __first, _InputIter __last,
_OutputIter __result,
_BinaryPredicate __binary_pred)
{
;
;
if (__first == __last) return __result;
return __unique_copy(__first, __last, __result, __binary_pred,
__iterator_category(__result));
}
template <class _ForwardIter>
_ForwardIter unique(_ForwardIter __first, _ForwardIter __last)
{
;
;
__first = adjacent_find(__first, __last);
return unique_copy(__first, __last, __first);
}
template <class _ForwardIter, class _BinaryPredicate>
_ForwardIter unique(_ForwardIter __first, _ForwardIter __last,
_BinaryPredicate __binary_pred)
{
;
;
__first = adjacent_find(__first, __last, __binary_pred);
return unique_copy(__first, __last, __first, __binary_pred);
}
template <class _BidirectionalIter>
void __reverse(_BidirectionalIter __first, _BidirectionalIter __last,
bidirectional_iterator_tag) {
while (true)
if (__first == __last || __first == --__last)
return;
else
iter_swap(__first++, __last);
}
template <class _RandomAccessIter>
void __reverse(_RandomAccessIter __first, _RandomAccessIter __last,
random_access_iterator_tag) {
while (__first < __last)
iter_swap(__first++, --__last);
}
template <class _BidirectionalIter>
inline void reverse(_BidirectionalIter __first, _BidirectionalIter __last)
{
;
__reverse(__first, __last, __iterator_category(__first));
}
template <class _BidirectionalIter, class _OutputIter>
_OutputIter reverse_copy(_BidirectionalIter __first,
_BidirectionalIter __last,
_OutputIter __result)
{
;
;
while (__first != __last) {
--__last;
*__result = *__last;
++__result;
}
return __result;
}
template <class _EuclideanRingElement>
_EuclideanRingElement __gcd(_EuclideanRingElement __m,
_EuclideanRingElement __n)
{
while (__n != 0) {
_EuclideanRingElement __t = __m % __n;
__m = __n;
__n = __t;
}
return __m;
}
template <class _ForwardIter, class _Distance>
_ForwardIter __rotate(_ForwardIter __first,
_ForwardIter __middle,
_ForwardIter __last,
_Distance*,
forward_iterator_tag)
{
if (__first == __middle)
return __last;
if (__last == __middle)
return __first;
_ForwardIter __first2 = __middle;
do {
swap(*__first++, *__first2++);
if (__first == __middle)
__middle = __first2;
} while (__first2 != __last);
_ForwardIter __new_middle = __first;
__first2 = __middle;
while (__first2 != __last) {
swap (*__first++, *__first2++);
if (__first == __middle)
__middle = __first2;
else if (__first2 == __last)
__first2 = __middle;
}
return __new_middle;
}
template <class _BidirectionalIter, class _Distance>
_BidirectionalIter __rotate(_BidirectionalIter __first,
_BidirectionalIter __middle,
_BidirectionalIter __last,
_Distance*,
bidirectional_iterator_tag)
{
;
if (__first == __middle)
return __last;
if (__last == __middle)
return __first;
__reverse(__first, __middle, bidirectional_iterator_tag());
__reverse(__middle, __last, bidirectional_iterator_tag());
while (__first != __middle && __middle != __last)
swap (*__first++, *--__last);
if (__first == __middle) {
__reverse(__middle, __last, bidirectional_iterator_tag());
return __last;
}
else {
__reverse(__first, __middle, bidirectional_iterator_tag());
return __first;
}
}
template <class _RandomAccessIter, class _Distance, class _Tp>
_RandomAccessIter __rotate(_RandomAccessIter __first,
_RandomAccessIter __middle,
_RandomAccessIter __last,
_Distance *, _Tp *)
{
;
_Distance __n = __last - __first;
_Distance __k = __middle - __first;
_Distance __l = __n - __k;
_RandomAccessIter __result = __first + (__last - __middle);
if (__k == 0)
return __last;
else if (__k == __l) {
swap_ranges(__first, __middle, __middle);
return __result;
}
_Distance __d = __gcd(__n, __k);
for (_Distance __i = 0; __i < __d; __i++) {
_Tp __tmp = *__first;
_RandomAccessIter __p = __first;
if (__k < __l) {
for (_Distance __j = 0; __j < __l/__d; __j++) {
if (__p > __first + __l) {
*__p = *(__p - __l);
__p -= __l;
}
*__p = *(__p + __k);
__p += __k;
}
}
else {
for (_Distance __j = 0; __j < __k/__d - 1; __j ++) {
if (__p < __last - __k) {
*__p = *(__p + __k);
__p += __k;
}
*__p = * (__p - __l);
__p -= __l;
}
}
*__p = __tmp;
++__first;
}
return __result;
}
template <class _ForwardIter>
inline _ForwardIter rotate(_ForwardIter __first, _ForwardIter __middle,
_ForwardIter __last)
{
;
return __rotate(__first, __middle, __last,
__distance_type(__first),
__iterator_category(__first));
}
template <class _ForwardIter, class _OutputIter>
_OutputIter rotate_copy(_ForwardIter __first, _ForwardIter __middle,
_ForwardIter __last, _OutputIter __result)
{
;
;
return copy(__first, __middle, copy(__middle, __last, __result));
}
template <class _Distance>
inline _Distance __random_number(_Distance __n) {
return lrand48() % __n;
}
template <class _RandomAccessIter>
inline void random_shuffle(_RandomAccessIter __first,
_RandomAccessIter __last)
{
;
if (__first == __last) return;
for (_RandomAccessIter __i = __first + 1; __i != __last; ++__i)
iter_swap(__i, __first + __random_number((__i - __first) + 1));
}
template <class _RandomAccessIter, class _RandomNumberGenerator>
void random_shuffle(_RandomAccessIter __first, _RandomAccessIter __last,
_RandomNumberGenerator& __rand)
{
;
if (__first == __last) return;
for (_RandomAccessIter __i = __first + 1; __i != __last; ++__i)
iter_swap(__i, __first + __rand((__i - __first) + 1));
}
template <class _ForwardIter, class _OutputIter, class _Distance>
_OutputIter random_sample_n(_ForwardIter __first, _ForwardIter __last,
_OutputIter __out, const _Distance __n)
{
;
;
_Distance __remaining = 0;
distance(__first, __last, __remaining);
_Distance __m = min(__n, __remaining);
while (__m > 0) {
if (__random_number(__remaining) < __m) {
*__out = *__first;
++__out;
--__m;
}
--__remaining;
++__first;
}
return __out;
}
template <class _ForwardIter, class _OutputIter, class _Distance,
class _RandomNumberGenerator>
_OutputIter random_sample_n(_ForwardIter __first, _ForwardIter __last,
_OutputIter __out, const _Distance __n,
_RandomNumberGenerator& __rand)
{
;
;
;
_Distance __remaining = 0;
distance(__first, __last, __remaining);
_Distance __m = min(__n, __remaining);
while (__m > 0) {
if (__rand(__remaining) < __m) {
*__out = *__first;
++__out;
--__m;
}
--__remaining;
++__first;
}
return __out;
}
template <class _InputIter, class _RandomAccessIter, class _Distance>
_RandomAccessIter __random_sample(_InputIter __first, _InputIter __last,
_RandomAccessIter __out,
const _Distance __n)
{
_Distance __m = 0;
_Distance __t = __n;
for ( ; __first != __last && __m < __n; ++__m, ++__first)
__out[__m] = *__first;
while (__first != __last) {
++__t;
_Distance __M = __random_number(__t);
if (__M < __n)
__out[__M] = *__first;
++__first;
}
return __out + __m;
}
template <class _InputIter, class _RandomAccessIter,
class _RandomNumberGenerator, class _Distance>
_RandomAccessIter __random_sample(_InputIter __first, _InputIter __last,
_RandomAccessIter __out,
_RandomNumberGenerator& __rand,
const _Distance __n)
{
;
_Distance __m = 0;
_Distance __t = __n;
for ( ; __first != __last && __m < __n; ++__m, ++__first)
__out[__m] = *__first;
while (__first != __last) {
++__t;
_Distance __M = __rand(__t);
if (__M < __n)
__out[__M] = *__first;
++__first;
}
return __out + __m;
}
template <class _InputIter, class _RandomAccessIter>
inline _RandomAccessIter
random_sample(_InputIter __first, _InputIter __last,
_RandomAccessIter __out_first, _RandomAccessIter __out_last)
{
;
;
return __random_sample(__first, __last,
__out_first, __out_last - __out_first);
}
template <class _InputIter, class _RandomAccessIter,
class _RandomNumberGenerator>
inline _RandomAccessIter
random_sample(_InputIter __first, _InputIter __last,
_RandomAccessIter __out_first, _RandomAccessIter __out_last,
_RandomNumberGenerator& __rand)
{
;
;
return __random_sample(__first, __last,
__out_first, __rand,
__out_last - __out_first);
}
template <class _ForwardIter, class _Predicate>
_ForwardIter __partition(_ForwardIter __first,
_ForwardIter __last,
_Predicate __pred,
forward_iterator_tag)
{
if (__first == __last) return __first;
while (__pred(*__first))
if (++__first == __last) return __first;
_ForwardIter __next = __first;
while (++__next != __last)
if (__pred(*__next)) {
swap(*__first, *__next);
++__first;
}
return __first;
}
template <class _BidirectionalIter, class _Predicate>
_BidirectionalIter __partition(_BidirectionalIter __first,
_BidirectionalIter __last,
_Predicate __pred,
bidirectional_iterator_tag)
{
while (true) {
while (true)
if (__first == __last)
return __first;
else if (__pred(*__first))
++__first;
else
break;
--__last;
while (true)
if (__first == __last)
return __first;
else if (!__pred(*__last))
--__last;
else
break;
iter_swap(__first, __last);
++__first;
}
}
template <class _ForwardIter, class _Predicate>
inline _ForwardIter partition(_ForwardIter __first,
_ForwardIter __last,
_Predicate __pred)
{
;
;
return __partition(__first, __last, __pred, __iterator_category(__first));
}
template <class _ForwardIter, class _Predicate, class _Distance>
_ForwardIter __inplace_stable_partition(_ForwardIter __first,
_ForwardIter __last,
_Predicate __pred, _Distance __len)
{
if (__len == 1)
return __pred(*__first) ? __last : __first;
_ForwardIter __middle = __first;
advance(__middle, __len / 2);
return rotate(__inplace_stable_partition(__first, __middle, __pred,
__len / 2),
__middle,
__inplace_stable_partition(__middle, __last, __pred,
__len - __len / 2));
}
template <class _ForwardIter, class _Pointer, class _Predicate,
class _Distance>
_ForwardIter __stable_partition_adaptive(_ForwardIter __first,
_ForwardIter __last,
_Predicate __pred, _Distance __len,
_Pointer __buffer,
_Distance __buffer_size)
{
if (__len <= __buffer_size) {
_ForwardIter __result1 = __first;
_Pointer __result2 = __buffer;
for ( ; __first != __last ; ++__first)
if (__pred(*__first)) {
*__result1 = *__first;
++__result1;
}
else {
*__result2 = *__first;
++__result2;
}
copy(__buffer, __result2, __result1);
return __result1;
}
else {
_ForwardIter __middle = __first;
advance(__middle, __len / 2);
return rotate(__stable_partition_adaptive(
__first, __middle, __pred,
__len / 2, __buffer, __buffer_size),
__middle,
__stable_partition_adaptive(
__middle, __last, __pred,
__len - __len / 2, __buffer, __buffer_size));
}
}
template <class _ForwardIter, class _Predicate, class _Tp, class _Distance>
inline _ForwardIter
__stable_partition_aux(_ForwardIter __first, _ForwardIter __last,
_Predicate __pred, _Tp*, _Distance*)
{
_Temporary_buffer<_ForwardIter, _Tp> __buf(__first, __last);
if (__buf.size() > 0)
return __stable_partition_adaptive(__first, __last, __pred,
_Distance(__buf.requested_size()),
__buf.begin(), __buf.size());
else
return __inplace_stable_partition(__first, __last, __pred,
_Distance(__buf.requested_size()));
}
template <class _ForwardIter, class _Predicate>
inline _ForwardIter stable_partition(_ForwardIter __first,
_ForwardIter __last,
_Predicate __pred)
{
;
;
if (__first == __last)
return __first;
else
return __stable_partition_aux(__first, __last, __pred,
__value_type(__first),
__distance_type(__first));
}
template <class _RandomAccessIter, class _Tp>
_RandomAccessIter __unguarded_partition(_RandomAccessIter __first,
_RandomAccessIter __last,
_Tp __pivot)
{
while (true) {
while (*__first < __pivot)
++__first;
--__last;
while (__pivot < *__last)
--__last;
if (!(__first < __last))
return __first;
iter_swap(__first, __last);
++__first;
}
}
template <class _RandomAccessIter, class _Tp, class _Compare>
_RandomAccessIter __unguarded_partition(_RandomAccessIter __first,
_RandomAccessIter __last,
_Tp __pivot, _Compare __comp)
{
while (true) {
while (__comp(*__first, __pivot))
++__first;
--__last;
while (__comp(__pivot, *__last))
--__last;
if (!(__first < __last))
return __first;
iter_swap(__first, __last);
++__first;
}
}
const int __stl_threshold = 16;
template <class _RandomAccessIter, class _Tp>
void __unguarded_linear_insert(_RandomAccessIter __last, _Tp __val)
{
_RandomAccessIter __next = __last;
--__next;
while (__val < *__next) {
*__last = *__next;
__last = __next;
--__next;
}
*__last = __val;
}
template <class _RandomAccessIter, class _Tp, class _Compare>
void __unguarded_linear_insert(_RandomAccessIter __last, _Tp __val,
_Compare __comp)
{
_RandomAccessIter __next = __last;
--__next;
while (__comp(__val, *__next)) {
*__last = *__next;
__last = __next;
--__next;
}
*__last = __val;
}
template <class _RandomAccessIter, class _Tp>
inline void __linear_insert(_RandomAccessIter __first,
_RandomAccessIter __last, _Tp*)
{
_Tp __val = *__last;
if (__val < *__first) {
copy_backward(__first, __last, __last + 1);
*__first = __val;
}
else
__unguarded_linear_insert(__last, __val);
}
template <class _RandomAccessIter, class _Tp, class _Compare>
inline void __linear_insert(_RandomAccessIter __first,
_RandomAccessIter __last, _Tp*, _Compare __comp)
{
_Tp __val = *__last;
if (__comp(__val, *__first)) {
copy_backward(__first, __last, __last + 1);
*__first = __val;
}
else
__unguarded_linear_insert(__last, __val, __comp);
}
template <class _RandomAccessIter>
void __insertion_sort(_RandomAccessIter __first, _RandomAccessIter __last)
{
if (__first == __last) return;
for (_RandomAccessIter __i = __first + 1; __i != __last; ++__i)
__linear_insert(__first, __i, __value_type(__first));
}
template <class _RandomAccessIter, class _Compare>
void __insertion_sort(_RandomAccessIter __first,
_RandomAccessIter __last, _Compare __comp)
{
if (__first == __last) return;
for (_RandomAccessIter __i = __first + 1; __i != __last; ++__i)
__linear_insert(__first, __i, __value_type(__first), __comp);
}
template <class _RandomAccessIter, class _Tp>
void __unguarded_insertion_sort_aux(_RandomAccessIter __first,
_RandomAccessIter __last, _Tp*)
{
for (_RandomAccessIter __i = __first; __i != __last; ++__i)
__unguarded_linear_insert(__i, _Tp(*__i));
}
template <class _RandomAccessIter>
inline void __unguarded_insertion_sort(_RandomAccessIter __first,
_RandomAccessIter __last) {
__unguarded_insertion_sort_aux(__first, __last, __value_type(__first));
}
template <class _RandomAccessIter, class _Tp, class _Compare>
void __unguarded_insertion_sort_aux(_RandomAccessIter __first,
_RandomAccessIter __last,
_Tp*, _Compare __comp)
{
for (_RandomAccessIter __i = __first; __i != __last; ++__i)
__unguarded_linear_insert(__i, _Tp(*__i), __comp);
}
template <class _RandomAccessIter, class _Compare>
inline void __unguarded_insertion_sort(_RandomAccessIter __first,
_RandomAccessIter __last,
_Compare __comp)
{
__unguarded_insertion_sort_aux(__first, __last, __value_type(__first),
__comp);
}
template <class _RandomAccessIter>
void __final_insertion_sort(_RandomAccessIter __first,
_RandomAccessIter __last)
{
if (__last - __first > __stl_threshold) {
__insertion_sort(__first, __first + __stl_threshold);
__unguarded_insertion_sort(__first + __stl_threshold, __last);
}
else
__insertion_sort(__first, __last);
}
template <class _RandomAccessIter, class _Compare>
void __final_insertion_sort(_RandomAccessIter __first,
_RandomAccessIter __last, _Compare __comp)
{
if (__last - __first > __stl_threshold) {
__insertion_sort(__first, __first + __stl_threshold, __comp);
__unguarded_insertion_sort(__first + __stl_threshold, __last, __comp);
}
else
__insertion_sort(__first, __last, __comp);
}
template <class _Size>
inline _Size __lg(_Size __n)
{
_Size __k;
for (__k = 0; __n != 1; __n >>= 1) ++__k;
return __k;
}
template <class _RandomAccessIter, class _Tp, class _Size>
void __introsort_loop(_RandomAccessIter __first,
_RandomAccessIter __last, _Tp*,
_Size __depth_limit)
{
while (__last - __first > __stl_threshold) {
if (__depth_limit == 0) {
partial_sort(__first, __last, __last);
return;
}
--__depth_limit;
_RandomAccessIter __cut =
__unguarded_partition(__first, __last,
_Tp(__median(*__first,
*(__first + (__last - __first)/2),
*(__last - 1))));
__introsort_loop(__cut, __last, (_Tp*) 0, __depth_limit);
__last = __cut;
}
}
template <class _RandomAccessIter, class _Tp, class _Size, class _Compare>
void __introsort_loop(_RandomAccessIter __first,
_RandomAccessIter __last, _Tp*,
_Size __depth_limit, _Compare __comp)
{
while (__last - __first > __stl_threshold) {
if (__depth_limit == 0) {
partial_sort(__first, __last, __last, __comp);
return;
}
--__depth_limit;
_RandomAccessIter __cut =
__unguarded_partition(__first, __last,
_Tp(__median(*__first,
*(__first + (__last - __first)/2),
*(__last - 1), __comp)),
__comp);
__introsort_loop(__cut, __last, (_Tp*) 0, __depth_limit, __comp);
__last = __cut;
}
}
template <class _RandomAccessIter>
inline void sort(_RandomAccessIter __first, _RandomAccessIter __last)
{
;
;
if (__first != __last) {
__introsort_loop(__first, __last,
__value_type(__first),
__lg(__last - __first) * 2);
__final_insertion_sort(__first, __last);
}
}
template <class _RandomAccessIter, class _Compare>
inline void sort(_RandomAccessIter __first, _RandomAccessIter __last,
_Compare __comp)
{
;
;
if (__first != __last) {
__introsort_loop(__first, __last,
__value_type(__first),
__lg(__last - __first) * 2,
__comp);
__final_insertion_sort(__first, __last, __comp);
}
}
template <class _RandomAccessIter>
void __inplace_stable_sort(_RandomAccessIter __first,
_RandomAccessIter __last)
{
if (__last - __first < 15) {
__insertion_sort(__first, __last);
return;
}
_RandomAccessIter __middle = __first + (__last - __first) / 2;
__inplace_stable_sort(__first, __middle);
__inplace_stable_sort(__middle, __last);
__merge_without_buffer(__first, __middle, __last,
__middle - __first,
__last - __middle);
}
template <class _RandomAccessIter, class _Compare>
void __inplace_stable_sort(_RandomAccessIter __first,
_RandomAccessIter __last, _Compare __comp)
{
if (__last - __first < 15) {
__insertion_sort(__first, __last, __comp);
return;
}
_RandomAccessIter __middle = __first + (__last - __first) / 2;
__inplace_stable_sort(__first, __middle, __comp);
__inplace_stable_sort(__middle, __last, __comp);
__merge_without_buffer(__first, __middle, __last,
__middle - __first,
__last - __middle,
__comp);
}
template <class _RandomAccessIter1, class _RandomAccessIter2,
class _Distance>
void __merge_sort_loop(_RandomAccessIter1 __first,
_RandomAccessIter1 __last,
_RandomAccessIter2 __result, _Distance __step_size)
{
_Distance __two_step = 2 * __step_size;
while (__last - __first >= __two_step) {
__result = merge(__first, __first + __step_size,
__first + __step_size, __first + __two_step,
__result);
__first += __two_step;
}
__step_size = min(_Distance(__last - __first), __step_size);
merge(__first, __first + __step_size, __first + __step_size, __last,
__result);
}
template <class _RandomAccessIter1, class _RandomAccessIter2,
class _Distance, class _Compare>
void __merge_sort_loop(_RandomAccessIter1 __first,
_RandomAccessIter1 __last,
_RandomAccessIter2 __result, _Distance __step_size,
_Compare __comp)
{
_Distance __two_step = 2 * __step_size;
while (__last - __first >= __two_step) {
__result = merge(__first, __first + __step_size,
__first + __step_size, __first + __two_step,
__result,
__comp);
__first += __two_step;
}
__step_size = min(_Distance(__last - __first), __step_size);
merge(__first, __first + __step_size,
__first + __step_size, __last,
__result,
__comp);
}
const int __stl_chunk_size = 7;
template <class _RandomAccessIter, class _Distance>
void __chunk_insertion_sort(_RandomAccessIter __first,
_RandomAccessIter __last, _Distance __chunk_size)
{
while (__last - __first >= __chunk_size) {
__insertion_sort(__first, __first + __chunk_size);
__first += __chunk_size;
}
__insertion_sort(__first, __last);
}
template <class _RandomAccessIter, class _Distance, class _Compare>
void __chunk_insertion_sort(_RandomAccessIter __first,
_RandomAccessIter __last,
_Distance __chunk_size, _Compare __comp)
{
while (__last - __first >= __chunk_size) {
__insertion_sort(__first, __first + __chunk_size, __comp);
__first += __chunk_size;
}
__insertion_sort(__first, __last, __comp);
}
template <class _RandomAccessIter, class _Pointer, class _Distance>
void __merge_sort_with_buffer(_RandomAccessIter __first,
_RandomAccessIter __last,
_Pointer __buffer, _Distance*)
{
_Distance __len = __last - __first;
_Pointer __buffer_last = __buffer + __len;
_Distance __step_size = __stl_chunk_size;
__chunk_insertion_sort(__first, __last, __step_size);
while (__step_size < __len) {
__merge_sort_loop(__first, __last, __buffer, __step_size);
__step_size *= 2;
__merge_sort_loop(__buffer, __buffer_last, __first, __step_size);
__step_size *= 2;
}
}
template <class _RandomAccessIter, class _Pointer, class _Distance,
class _Compare>
void __merge_sort_with_buffer(_RandomAccessIter __first,
_RandomAccessIter __last, _Pointer __buffer,
_Distance*, _Compare __comp)
{
_Distance __len = __last - __first;
_Pointer __buffer_last = __buffer + __len;
_Distance __step_size = __stl_chunk_size;
__chunk_insertion_sort(__first, __last, __step_size, __comp);
while (__step_size < __len) {
__merge_sort_loop(__first, __last, __buffer, __step_size, __comp);
__step_size *= 2;
__merge_sort_loop(__buffer, __buffer_last, __first, __step_size, __comp);
__step_size *= 2;
}
}
template <class _RandomAccessIter, class _Pointer, class _Distance>
void __stable_sort_adaptive(_RandomAccessIter __first,
_RandomAccessIter __last, _Pointer __buffer,
_Distance __buffer_size)
{
_Distance __len = (__last - __first + 1) / 2;
_RandomAccessIter __middle = __first + __len;
if (__len > __buffer_size) {
__stable_sort_adaptive(__first, __middle, __buffer, __buffer_size);
__stable_sort_adaptive(__middle, __last, __buffer, __buffer_size);
}
else {
__merge_sort_with_buffer(__first, __middle, __buffer, (_Distance*)0);
__merge_sort_with_buffer(__middle, __last, __buffer, (_Distance*)0);
}
__merge_adaptive(__first, __middle, __last, _Distance(__middle - __first),
_Distance(__last - __middle), __buffer, __buffer_size);
}
template <class _RandomAccessIter, class _Pointer, class _Distance,
class _Compare>
void __stable_sort_adaptive(_RandomAccessIter __first,
_RandomAccessIter __last, _Pointer __buffer,
_Distance __buffer_size, _Compare __comp)
{
_Distance __len = (__last - __first + 1) / 2;
_RandomAccessIter __middle = __first + __len;
if (__len > __buffer_size) {
__stable_sort_adaptive(__first, __middle, __buffer, __buffer_size,
__comp);
__stable_sort_adaptive(__middle, __last, __buffer, __buffer_size,
__comp);
}
else {
__merge_sort_with_buffer(__first, __middle, __buffer, (_Distance*)0,
__comp);
__merge_sort_with_buffer(__middle, __last, __buffer, (_Distance*)0,
__comp);
}
__merge_adaptive(__first, __middle, __last, _Distance(__middle - __first),
_Distance(__last - __middle), __buffer, __buffer_size,
__comp);
}
template <class _RandomAccessIter, class _Tp, class _Distance>
inline void __stable_sort_aux(_RandomAccessIter __first,
_RandomAccessIter __last, _Tp*, _Distance*)
{
_Temporary_buffer<_RandomAccessIter, _Tp> buf(__first, __last);
if (buf.begin() == 0)
__inplace_stable_sort(__first, __last);
else
__stable_sort_adaptive(__first, __last, buf.begin(),
_Distance(buf.size()));
}
template <class _RandomAccessIter, class _Tp, class _Distance, class _Compare>
inline void __stable_sort_aux(_RandomAccessIter __first,
_RandomAccessIter __last, _Tp*, _Distance*,
_Compare __comp)
{
_Temporary_buffer<_RandomAccessIter, _Tp> buf(__first, __last);
if (buf.begin() == 0)
__inplace_stable_sort(__first, __last, __comp);
else
__stable_sort_adaptive(__first, __last, buf.begin(),
_Distance(buf.size()),
__comp);
}
template <class _RandomAccessIter>
inline void stable_sort(_RandomAccessIter __first,
_RandomAccessIter __last)
{
;
;
__stable_sort_aux(__first, __last,
__value_type(__first),
__distance_type(__first));
}
template <class _RandomAccessIter, class _Compare>
inline void stable_sort(_RandomAccessIter __first,
_RandomAccessIter __last, _Compare __comp)
{
;
;
__stable_sort_aux(__first, __last,
__value_type(__first),
__distance_type(__first),
__comp);
}
template <class _RandomAccessIter, class _Tp>
void __partial_sort(_RandomAccessIter __first, _RandomAccessIter __middle,
_RandomAccessIter __last, _Tp*)
{
make_heap(__first, __middle);
for (_RandomAccessIter __i = __middle; __i < __last; ++__i)
if (*__i < *__first)
__pop_heap(__first, __middle, __i, _Tp(*__i),
__distance_type(__first));
sort_heap(__first, __middle);
}
template <class _RandomAccessIter>
inline void partial_sort(_RandomAccessIter __first,
_RandomAccessIter __middle,
_RandomAccessIter __last)
{
;
;
__partial_sort(__first, __middle, __last, __value_type(__first));
}
template <class _RandomAccessIter, class _Tp, class _Compare>
void __partial_sort(_RandomAccessIter __first, _RandomAccessIter __middle,
_RandomAccessIter __last, _Tp*, _Compare __comp)
{
make_heap(__first, __middle, __comp);
for (_RandomAccessIter __i = __middle; __i < __last; ++__i)
if (__comp(*__i, *__first))
__pop_heap(__first, __middle, __i, _Tp(*__i), __comp,
__distance_type(__first));
sort_heap(__first, __middle, __comp);
}
template <class _RandomAccessIter, class _Compare>
inline void partial_sort(_RandomAccessIter __first,
_RandomAccessIter __middle,
_RandomAccessIter __last, _Compare __comp)
{
;
;
__partial_sort(__first, __middle, __last, __value_type(__first), __comp);
}
template <class _InputIter, class _RandomAccessIter, class _Distance,
class _Tp>
_RandomAccessIter __partial_sort_copy(_InputIter __first,
_InputIter __last,
_RandomAccessIter __result_first,
_RandomAccessIter __result_last,
_Distance*, _Tp*)
{
if (__result_first == __result_last) return __result_last;
_RandomAccessIter __result_real_last = __result_first;
while(__first != __last && __result_real_last != __result_last) {
*__result_real_last = *__first;
++__result_real_last;
++__first;
}
make_heap(__result_first, __result_real_last);
while (__first != __last) {
if (*__first < *__result_first)
__adjust_heap(__result_first, _Distance(0),
_Distance(__result_real_last - __result_first),
_Tp(*__first));
++__first;
}
sort_heap(__result_first, __result_real_last);
return __result_real_last;
}
template <class _InputIter, class _RandomAccessIter>
inline _RandomAccessIter
partial_sort_copy(_InputIter __first, _InputIter __last,
_RandomAccessIter __result_first,
_RandomAccessIter __result_last)
{
;
;
;
;
return __partial_sort_copy(__first, __last, __result_first, __result_last,
__distance_type(__result_first),
__value_type(__first));
}
template <class _InputIter, class _RandomAccessIter, class _Compare,
class _Distance, class _Tp>
_RandomAccessIter __partial_sort_copy(_InputIter __first,
_InputIter __last,
_RandomAccessIter __result_first,
_RandomAccessIter __result_last,
_Compare __comp, _Distance*, _Tp*)
{
if (__result_first == __result_last) return __result_last;
_RandomAccessIter __result_real_last = __result_first;
while(__first != __last && __result_real_last != __result_last) {
*__result_real_last = *__first;
++__result_real_last;
++__first;
}
make_heap(__result_first, __result_real_last, __comp);
while (__first != __last) {
if (__comp(*__first, *__result_first))
__adjust_heap(__result_first, _Distance(0),
_Distance(__result_real_last - __result_first),
_Tp(*__first),
__comp);
++__first;
}
sort_heap(__result_first, __result_real_last, __comp);
return __result_real_last;
}
template <class _InputIter, class _RandomAccessIter, class _Compare>
inline _RandomAccessIter
partial_sort_copy(_InputIter __first, _InputIter __last,
_RandomAccessIter __result_first,
_RandomAccessIter __result_last, _Compare __comp)
{
;
;
;
;
return __partial_sort_copy(__first, __last, __result_first, __result_last,
__comp,
__distance_type(__result_first),
__value_type(__first));
}
template <class _RandomAccessIter, class _Tp>
void __nth_element(_RandomAccessIter __first, _RandomAccessIter __nth,
_RandomAccessIter __last, _Tp*)
{
while (__last - __first > 3) {
_RandomAccessIter __cut =
__unguarded_partition(__first, __last,
_Tp(__median(*__first,
*(__first + (__last - __first)/2),
*(__last - 1))));
if (__cut <= __nth)
__first = __cut;
else
__last = __cut;
}
__insertion_sort(__first, __last);
}
template <class _RandomAccessIter>
inline void nth_element(_RandomAccessIter __first, _RandomAccessIter __nth,
_RandomAccessIter __last)
{
;
;
__nth_element(__first, __nth, __last, __value_type(__first));
}
template <class _RandomAccessIter, class _Tp, class _Compare>
void __nth_element(_RandomAccessIter __first, _RandomAccessIter __nth,
_RandomAccessIter __last, _Tp*, _Compare __comp)
{
while (__last - __first > 3) {
_RandomAccessIter __cut =
__unguarded_partition(__first, __last,
_Tp(__median(*__first,
*(__first + (__last - __first)/2),
*(__last - 1),
__comp)),
__comp);
if (__cut <= __nth)
__first = __cut;
else
__last = __cut;
}
__insertion_sort(__first, __last, __comp);
}
template <class _RandomAccessIter, class _Compare>
inline void nth_element(_RandomAccessIter __first, _RandomAccessIter __nth,
_RandomAccessIter __last, _Compare __comp)
{
;
;
__nth_element(__first, __nth, __last, __value_type(__first), __comp);
}
template <class _ForwardIter, class _Tp, class _Distance>
_ForwardIter __lower_bound(_ForwardIter __first, _ForwardIter __last,
const _Tp& __val, _Distance*)
{
_Distance __len = 0;
distance(__first, __last, __len);
_Distance __half;
_ForwardIter __middle;
while (__len > 0) {
__half = __len >> 1;
__middle = __first;
advance(__middle, __half);
if (*__middle < __val) {
__first = __middle;
++__first;
__len = __len - __half - 1;
}
else
__len = __half;
}
return __first;
}
template <class _ForwardIter, class _Tp>
inline _ForwardIter lower_bound(_ForwardIter __first, _ForwardIter __last,
const _Tp& __val)
{
;
;
;
return __lower_bound(__first, __last, __val,
__distance_type(__first));
}
template <class _ForwardIter, class _Tp, class _Compare, class _Distance>
_ForwardIter __lower_bound(_ForwardIter __first, _ForwardIter __last,
const _Tp& __val, _Compare __comp, _Distance*)
{
_Distance __len = 0;
distance(__first, __last, __len);
_Distance __half;
_ForwardIter __middle;
while (__len > 0) {
__half = __len >> 1;
__middle = __first;
advance(__middle, __half);
if (__comp(*__middle, __val)) {
__first = __middle;
++__first;
__len = __len - __half - 1;
}
else
__len = __half;
}
return __first;
}
template <class _ForwardIter, class _Tp, class _Compare>
inline _ForwardIter lower_bound(_ForwardIter __first, _ForwardIter __last,
const _Tp& __val, _Compare __comp)
{
;
;
;
return __lower_bound(__first, __last, __val, __comp,
__distance_type(__first));
}
template <class _ForwardIter, class _Tp, class _Distance>
_ForwardIter __upper_bound(_ForwardIter __first, _ForwardIter __last,
const _Tp& __val, _Distance*)
{
_Distance __len = 0;
distance(__first, __last, __len);
_Distance __half;
_ForwardIter __middle;
while (__len > 0) {
__half = __len >> 1;
__middle = __first;
advance(__middle, __half);
if (__val < *__middle)
__len = __half;
else {
__first = __middle;
++__first;
__len = __len - __half - 1;
}
}
return __first;
}
template <class _ForwardIter, class _Tp>
inline _ForwardIter upper_bound(_ForwardIter __first, _ForwardIter __last,
const _Tp& __val)
{
;
;
;
return __upper_bound(__first, __last, __val,
__distance_type(__first));
}
template <class _ForwardIter, class _Tp, class _Compare, class _Distance>
_ForwardIter __upper_bound(_ForwardIter __first, _ForwardIter __last,
const _Tp& __val, _Compare __comp, _Distance*)
{
_Distance __len = 0;
distance(__first, __last, __len);
_Distance __half;
_ForwardIter __middle;
while (__len > 0) {
__half = __len >> 1;
__middle = __first;
advance(__middle, __half);
if (__comp(__val, *__middle))
__len = __half;
else {
__first = __middle;
++__first;
__len = __len - __half - 1;
}
}
return __first;
}
template <class _ForwardIter, class _Tp, class _Compare>
inline _ForwardIter upper_bound(_ForwardIter __first, _ForwardIter __last,
const _Tp& __val, _Compare __comp)
{
;
;
;
return __upper_bound(__first, __last, __val, __comp,
__distance_type(__first));
}
template <class _ForwardIter, class _Tp, class _Distance>
pair<_ForwardIter, _ForwardIter>
__equal_range(_ForwardIter __first, _ForwardIter __last, const _Tp& __val,
_Distance*)
{
_Distance __len = 0;
distance(__first, __last, __len);
_Distance __half;
_ForwardIter __middle, __left, __right;
while (__len > 0) {
__half = __len >> 1;
__middle = __first;
advance(__middle, __half);
if (*__middle < __val) {
__first = __middle;
++__first;
__len = __len - __half - 1;
}
else if (__val < *__middle)
__len = __half;
else {
__left = lower_bound(__first, __middle, __val);
advance(__first, __len);
__right = upper_bound(++__middle, __first, __val);
return pair<_ForwardIter, _ForwardIter>(__left, __right);
}
}
return pair<_ForwardIter, _ForwardIter>(__first, __first);
}
template <class _ForwardIter, class _Tp>
inline pair<_ForwardIter, _ForwardIter>
equal_range(_ForwardIter __first, _ForwardIter __last, const _Tp& __val)
{
;
;
;
return __equal_range(__first, __last, __val,
__distance_type(__first));
}
template <class _ForwardIter, class _Tp, class _Compare, class _Distance>
pair<_ForwardIter, _ForwardIter>
__equal_range(_ForwardIter __first, _ForwardIter __last, const _Tp& __val,
_Compare __comp, _Distance*)
{
_Distance __len = 0;
distance(__first, __last, __len);
_Distance __half;
_ForwardIter __middle, __left, __right;
while (__len > 0) {
__half = __len >> 1;
__middle = __first;
advance(__middle, __half);
if (__comp(*__middle, __val)) {
__first = __middle;
++__first;
__len = __len - __half - 1;
}
else if (__comp(__val, *__middle))
__len = __half;
else {
__left = lower_bound(__first, __middle, __val, __comp);
advance(__first, __len);
__right = upper_bound(++__middle, __first, __val, __comp);
return pair<_ForwardIter, _ForwardIter>(__left, __right);
}
}
return pair<_ForwardIter, _ForwardIter>(__first, __first);
}
template <class _ForwardIter, class _Tp, class _Compare>
inline pair<_ForwardIter, _ForwardIter>
equal_range(_ForwardIter __first, _ForwardIter __last, const _Tp& __val,
_Compare __comp)
{
;
;
;
return __equal_range(__first, __last, __val, __comp,
__distance_type(__first));
}
template <class _ForwardIter, class _Tp>
bool binary_search(_ForwardIter __first, _ForwardIter __last,
const _Tp& __val)
{
;
;
;
_ForwardIter __i = lower_bound(__first, __last, __val);
return __i != __last && !(__val < *__i);
}
template <class _ForwardIter, class _Tp, class _Compare>
bool binary_search(_ForwardIter __first, _ForwardIter __last,
const _Tp& __val,
_Compare __comp)
{
;
;
;
_ForwardIter __i = lower_bound(__first, __last, __val, __comp);
return __i != __last && !__comp(__val, *__i);
}
template <class _InputIter1, class _InputIter2, class _OutputIter>
_OutputIter merge(_InputIter1 __first1, _InputIter1 __last1,
_InputIter2 __first2, _InputIter2 __last2,
_OutputIter __result)
{
;
;
;
;
;
while (__first1 != __last1 && __first2 != __last2) {
if (*__first2 < *__first1) {
*__result = *__first2;
++__first2;
}
else {
*__result = *__first1;
++__first1;
}
++__result;
}
return copy(__first2, __last2, copy(__first1, __last1, __result));
}
template <class _InputIter1, class _InputIter2, class _OutputIter,
class _Compare>
_OutputIter merge(_InputIter1 __first1, _InputIter1 __last1,
_InputIter2 __first2, _InputIter2 __last2,
_OutputIter __result, _Compare __comp)
{
;
;
;
;
;
while (__first1 != __last1 && __first2 != __last2) {
if (__comp(*__first2, *__first1)) {
*__result = *__first2;
++__first2;
}
else {
*__result = *__first1;
++__first1;
}
++__result;
}
return copy(__first2, __last2, copy(__first1, __last1, __result));
}
template <class _BidirectionalIter, class _Distance>
void __merge_without_buffer(_BidirectionalIter __first,
_BidirectionalIter __middle,
_BidirectionalIter __last,
_Distance __len1, _Distance __len2)
{
if (__len1 == 0 || __len2 == 0)
return;
if (__len1 + __len2 == 2) {
if (*__middle < *__first)
iter_swap(__first, __middle);
return;
}
_BidirectionalIter __first_cut = __first;
_BidirectionalIter __second_cut = __middle;
_Distance __len11 = 0;
_Distance __len22 = 0;
if (__len1 > __len2) {
__len11 = __len1 / 2;
advance(__first_cut, __len11);
__second_cut = lower_bound(__middle, __last, *__first_cut);
distance(__middle, __second_cut, __len22);
}
else {
__len22 = __len2 / 2;
advance(__second_cut, __len22);
__first_cut = upper_bound(__first, __middle, *__second_cut);
distance(__first, __first_cut, __len11);
}
_BidirectionalIter __new_middle
= rotate(__first_cut, __middle, __second_cut);
__merge_without_buffer(__first, __first_cut, __new_middle,
__len11, __len22);
__merge_without_buffer(__new_middle, __second_cut, __last, __len1 - __len11,
__len2 - __len22);
}
template <class _BidirectionalIter, class _Distance, class _Compare>
void __merge_without_buffer(_BidirectionalIter __first,
_BidirectionalIter __middle,
_BidirectionalIter __last,
_Distance __len1, _Distance __len2,
_Compare __comp)
{
if (__len1 == 0 || __len2 == 0)
return;
if (__len1 + __len2 == 2) {
if (__comp(*__middle, *__first))
iter_swap(__first, __middle);
return;
}
_BidirectionalIter __first_cut = __first;
_BidirectionalIter __second_cut = __middle;
_Distance __len11 = 0;
_Distance __len22 = 0;
if (__len1 > __len2) {
__len11 = __len1 / 2;
advance(__first_cut, __len11);
__second_cut = lower_bound(__middle, __last, *__first_cut, __comp);
distance(__middle, __second_cut, __len22);
}
else {
__len22 = __len2 / 2;
advance(__second_cut, __len22);
__first_cut = upper_bound(__first, __middle, *__second_cut, __comp);
distance(__first, __first_cut, __len11);
}
_BidirectionalIter __new_middle
= rotate(__first_cut, __middle, __second_cut);
__merge_without_buffer(__first, __first_cut, __new_middle, __len11, __len22,
__comp);
__merge_without_buffer(__new_middle, __second_cut, __last, __len1 - __len11,
__len2 - __len22, __comp);
}
template <class _BidirectionalIter1, class _BidirectionalIter2,
class _Distance>
_BidirectionalIter1 __rotate_adaptive(_BidirectionalIter1 __first,
_BidirectionalIter1 __middle,
_BidirectionalIter1 __last,
_Distance __len1, _Distance __len2,
_BidirectionalIter2 __buffer,
_Distance __buffer_size)
{
_BidirectionalIter2 __buffer_end;
if (__len1 > __len2 && __len2 <= __buffer_size) {
__buffer_end = copy(__middle, __last, __buffer);
copy_backward(__first, __middle, __last);
return copy(__buffer, __buffer_end, __first);
}
else if (__len1 <= __buffer_size) {
__buffer_end = copy(__first, __middle, __buffer);
copy(__middle, __last, __first);
return copy_backward(__buffer, __buffer_end, __last);
}
else
return rotate(__first, __middle, __last);
}
template <class _BidirectionalIter1, class _BidirectionalIter2,
class _BidirectionalIter3>
_BidirectionalIter3 __merge_backward(_BidirectionalIter1 __first1,
_BidirectionalIter1 __last1,
_BidirectionalIter2 __first2,
_BidirectionalIter2 __last2,
_BidirectionalIter3 __result)
{
if (__first1 == __last1)
return copy_backward(__first2, __last2, __result);
if (__first2 == __last2)
return copy_backward(__first1, __last1, __result);
--__last1;
--__last2;
while (true) {
if (*__last2 < *__last1) {
*--__result = *__last1;
if (__first1 == __last1)
return copy_backward(__first2, ++__last2, __result);
--__last1;
}
else {
*--__result = *__last2;
if (__first2 == __last2)
return copy_backward(__first1, ++__last1, __result);
--__last2;
}
}
}
template <class _BidirectionalIter1, class _BidirectionalIter2,
class _BidirectionalIter3, class _Compare>
_BidirectionalIter3 __merge_backward(_BidirectionalIter1 __first1,
_BidirectionalIter1 __last1,
_BidirectionalIter2 __first2,
_BidirectionalIter2 __last2,
_BidirectionalIter3 __result,
_Compare __comp)
{
if (__first1 == __last1)
return copy_backward(__first2, __last2, __result);
if (__first2 == __last2)
return copy_backward(__first1, __last1, __result);
--__last1;
--__last2;
while (true) {
if (__comp(*__last2, *__last1)) {
*--__result = *__last1;
if (__first1 == __last1)
return copy_backward(__first2, ++__last2, __result);
--__last1;
}
else {
*--__result = *__last2;
if (__first2 == __last2)
return copy_backward(__first1, ++__last1, __result);
--__last2;
}
}
}
template <class _BidirectionalIter, class _Distance, class _Pointer>
void __merge_adaptive(_BidirectionalIter __first,
_BidirectionalIter __middle,
_BidirectionalIter __last,
_Distance __len1, _Distance __len2,
_Pointer __buffer, _Distance __buffer_size)
{
if (__len1 <= __len2 && __len1 <= __buffer_size) {
_Pointer __buffer_end = copy(__first, __middle, __buffer);
merge(__buffer, __buffer_end, __middle, __last, __first);
}
else if (__len2 <= __buffer_size) {
_Pointer __buffer_end = copy(__middle, __last, __buffer);
__merge_backward(__first, __middle, __buffer, __buffer_end, __last);
}
else {
_BidirectionalIter __first_cut = __first;
_BidirectionalIter __second_cut = __middle;
_Distance __len11 = 0;
_Distance __len22 = 0;
if (__len1 > __len2) {
__len11 = __len1 / 2;
advance(__first_cut, __len11);
__second_cut = lower_bound(__middle, __last, *__first_cut);
distance(__middle, __second_cut, __len22);
}
else {
__len22 = __len2 / 2;
advance(__second_cut, __len22);
__first_cut = upper_bound(__first, __middle, *__second_cut);
distance(__first, __first_cut, __len11);
}
_BidirectionalIter __new_middle =
__rotate_adaptive(__first_cut, __middle, __second_cut, __len1 - __len11,
__len22, __buffer, __buffer_size);
__merge_adaptive(__first, __first_cut, __new_middle, __len11,
__len22, __buffer, __buffer_size);
__merge_adaptive(__new_middle, __second_cut, __last, __len1 - __len11,
__len2 - __len22, __buffer, __buffer_size);
}
}
template <class _BidirectionalIter, class _Distance, class _Pointer,
class _Compare>
void __merge_adaptive(_BidirectionalIter __first,
_BidirectionalIter __middle,
_BidirectionalIter __last,
_Distance __len1, _Distance __len2,
_Pointer __buffer, _Distance __buffer_size,
_Compare __comp)
{
if (__len1 <= __len2 && __len1 <= __buffer_size) {
_Pointer __buffer_end = copy(__first, __middle, __buffer);
merge(__buffer, __buffer_end, __middle, __last, __first, __comp);
}
else if (__len2 <= __buffer_size) {
_Pointer __buffer_end = copy(__middle, __last, __buffer);
__merge_backward(__first, __middle, __buffer, __buffer_end, __last,
__comp);
}
else {
_BidirectionalIter __first_cut = __first;
_BidirectionalIter __second_cut = __middle;
_Distance __len11 = 0;
_Distance __len22 = 0;
if (__len1 > __len2) {
__len11 = __len1 / 2;
advance(__first_cut, __len11);
__second_cut = lower_bound(__middle, __last, *__first_cut, __comp);
distance(__middle, __second_cut, __len22);
}
else {
__len22 = __len2 / 2;
advance(__second_cut, __len22);
__first_cut = upper_bound(__first, __middle, *__second_cut, __comp);
distance(__first, __first_cut, __len11);
}
_BidirectionalIter __new_middle =
__rotate_adaptive(__first_cut, __middle, __second_cut, __len1 - __len11,
__len22, __buffer, __buffer_size);
__merge_adaptive(__first, __first_cut, __new_middle, __len11,
__len22, __buffer, __buffer_size, __comp);
__merge_adaptive(__new_middle, __second_cut, __last, __len1 - __len11,
__len2 - __len22, __buffer, __buffer_size, __comp);
}
}
template <class _BidirectionalIter, class _Tp, class _Distance>
inline void __inplace_merge_aux(_BidirectionalIter __first,
_BidirectionalIter __middle,
_BidirectionalIter __last, _Tp*, _Distance*)
{
_Distance __len1 = 0;
distance(__first, __middle, __len1);
_Distance __len2 = 0;
distance(__middle, __last, __len2);
_Temporary_buffer<_BidirectionalIter, _Tp> __buf(__first, __last);
if (__buf.begin() == 0)
__merge_without_buffer(__first, __middle, __last, __len1, __len2);
else
__merge_adaptive(__first, __middle, __last, __len1, __len2,
__buf.begin(), _Distance(__buf.size()));
}
template <class _BidirectionalIter, class _Tp,
class _Distance, class _Compare>
inline void __inplace_merge_aux(_BidirectionalIter __first,
_BidirectionalIter __middle,
_BidirectionalIter __last, _Tp*, _Distance*,
_Compare __comp)
{
_Distance __len1 = 0;
distance(__first, __middle, __len1);
_Distance __len2 = 0;
distance(__middle, __last, __len2);
_Temporary_buffer<_BidirectionalIter, _Tp> __buf(__first, __last);
if (__buf.begin() == 0)
__merge_without_buffer(__first, __middle, __last, __len1, __len2, __comp);
else
__merge_adaptive(__first, __middle, __last, __len1, __len2,
__buf.begin(), _Distance(__buf.size()),
__comp);
}
template <class _BidirectionalIter>
inline void inplace_merge(_BidirectionalIter __first,
_BidirectionalIter __middle,
_BidirectionalIter __last)
{
;
;
if (__first == __middle || __middle == __last)
return;
__inplace_merge_aux(__first, __middle, __last,
__value_type(__first), __distance_type(__first));
}
template <class _BidirectionalIter, class _Compare>
inline void inplace_merge(_BidirectionalIter __first,
_BidirectionalIter __middle,
_BidirectionalIter __last, _Compare __comp)
{
;
;
if (__first == __middle || __middle == __last)
return;
__inplace_merge_aux(__first, __middle, __last,
__value_type(__first), __distance_type(__first),
__comp);
}
template <class _InputIter1, class _InputIter2>
bool includes(_InputIter1 __first1, _InputIter1 __last1,
_InputIter2 __first2, _InputIter2 __last2)
{
;
;
;
;
while (__first1 != __last1 && __first2 != __last2)
if (*__first2 < *__first1)
return false;
else if(*__first1 < *__first2)
++__first1;
else
++__first1, ++__first2;
return __first2 == __last2;
}
template <class _InputIter1, class _InputIter2, class _Compare>
bool includes(_InputIter1 __first1, _InputIter1 __last1,
_InputIter2 __first2, _InputIter2 __last2, _Compare __comp)
{
;
;
;
;
while (__first1 != __last1 && __first2 != __last2)
if (__comp(*__first2, *__first1))
return false;
else if(__comp(*__first1, *__first2))
++__first1;
else
++__first1, ++__first2;
return __first2 == __last2;
}
template <class _InputIter1, class _InputIter2, class _OutputIter>
_OutputIter set_union(_InputIter1 __first1, _InputIter1 __last1,
_InputIter2 __first2, _InputIter2 __last2,
_OutputIter __result)
{
;
;
;
;
;
while (__first1 != __last1 && __first2 != __last2) {
if (*__first1 < *__first2) {
*__result = *__first1;
++__first1;
}
else if (*__first2 < *__first1) {
*__result = *__first2;
++__first2;
}
else {
*__result = *__first1;
++__first1;
++__first2;
}
++__result;
}
return copy(__first2, __last2, copy(__first1, __last1, __result));
}
template <class _InputIter1, class _InputIter2, class _OutputIter,
class _Compare>
_OutputIter set_union(_InputIter1 __first1, _InputIter1 __last1,
_InputIter2 __first2, _InputIter2 __last2,
_OutputIter __result, _Compare __comp)
{
;
;
;
;
;
while (__first1 != __last1 && __first2 != __last2) {
if (__comp(*__first1, *__first2)) {
*__result = *__first1;
++__first1;
}
else if (__comp(*__first2, *__first1)) {
*__result = *__first2;
++__first2;
}
else {
*__result = *__first1;
++__first1;
++__first2;
}
++__result;
}
return copy(__first2, __last2, copy(__first1, __last1, __result));
}
template <class _InputIter1, class _InputIter2, class _OutputIter>
_OutputIter set_intersection(_InputIter1 __first1, _InputIter1 __last1,
_InputIter2 __first2, _InputIter2 __last2,
_OutputIter __result)
{
;
;
;
;
;
while (__first1 != __last1 && __first2 != __last2)
if (*__first1 < *__first2)
++__first1;
else if (*__first2 < *__first1)
++__first2;
else {
*__result = *__first1;
++__first1;
++__first2;
++__result;
}
return __result;
}
template <class _InputIter1, class _InputIter2, class _OutputIter,
class _Compare>
_OutputIter set_intersection(_InputIter1 __first1, _InputIter1 __last1,
_InputIter2 __first2, _InputIter2 __last2,
_OutputIter __result, _Compare __comp)
{
;
;
;
;
;
while (__first1 != __last1 && __first2 != __last2)
if (__comp(*__first1, *__first2))
++__first1;
else if (__comp(*__first2, *__first1))
++__first2;
else {
*__result = *__first1;
++__first1;
++__first2;
++__result;
}
return __result;
}
template <class _InputIter1, class _InputIter2, class _OutputIter>
_OutputIter set_difference(_InputIter1 __first1, _InputIter1 __last1,
_InputIter2 __first2, _InputIter2 __last2,
_OutputIter __result)
{
;
;
;
;
;
while (__first1 != __last1 && __first2 != __last2)
if (*__first1 < *__first2) {
*__result = *__first1;
++__first1;
++__result;
}
else if (*__first2 < *__first1)
++__first2;
else {
++__first1;
++__first2;
}
return copy(__first1, __last1, __result);
}
template <class _InputIter1, class _InputIter2, class _OutputIter,
class _Compare>
_OutputIter set_difference(_InputIter1 __first1, _InputIter1 __last1,
_InputIter2 __first2, _InputIter2 __last2,
_OutputIter __result, _Compare __comp)
{
;
;
;
;
;
while (__first1 != __last1 && __first2 != __last2)
if (__comp(*__first1, *__first2)) {
*__result = *__first1;
++__first1;
++__result;
}
else if (__comp(*__first2, *__first1))
++__first2;
else {
++__first1;
++__first2;
}
return copy(__first1, __last1, __result);
}
template <class _InputIter1, class _InputIter2, class _OutputIter>
_OutputIter
set_symmetric_difference(_InputIter1 __first1, _InputIter1 __last1,
_InputIter2 __first2, _InputIter2 __last2,
_OutputIter __result)
{
;
;
;
;
;
while (__first1 != __last1 && __first2 != __last2)
if (*__first1 < *__first2) {
*__result = *__first1;
++__first1;
++__result;
}
else if (*__first2 < *__first1) {
*__result = *__first2;
++__first2;
++__result;
}
else {
++__first1;
++__first2;
}
return copy(__first2, __last2, copy(__first1, __last1, __result));
}
template <class _InputIter1, class _InputIter2, class _OutputIter,
class _Compare>
_OutputIter
set_symmetric_difference(_InputIter1 __first1, _InputIter1 __last1,
_InputIter2 __first2, _InputIter2 __last2,
_OutputIter __result,
_Compare __comp)
{
;
;
;
;
;
while (__first1 != __last1 && __first2 != __last2)
if (__comp(*__first1, *__first2)) {
*__result = *__first1;
++__first1;
++__result;
}
else if (__comp(*__first2, *__first1)) {
*__result = *__first2;
++__first2;
++__result;
}
else {
++__first1;
++__first2;
}
return copy(__first2, __last2, copy(__first1, __last1, __result));
}
template <class _ForwardIter>
_ForwardIter max_element(_ForwardIter __first, _ForwardIter __last)
{
;
;
if (__first == __last) return __first;
_ForwardIter __result = __first;
while (++__first != __last)
if (*__result < *__first)
__result = __first;
return __result;
}
template <class _ForwardIter, class _Compare>
_ForwardIter max_element(_ForwardIter __first, _ForwardIter __last,
_Compare __comp)
{
;
;
if (__first == __last) return __first;
_ForwardIter __result = __first;
while (++__first != __last)
if (__comp(*__result, *__first)) __result = __first;
return __result;
}
template <class _ForwardIter>
_ForwardIter min_element(_ForwardIter __first, _ForwardIter __last)
{
;
;
if (__first == __last) return __first;
_ForwardIter __result = __first;
while (++__first != __last)
if (*__first < *__result)
__result = __first;
return __result;
}
template <class _ForwardIter, class _Compare>
_ForwardIter min_element(_ForwardIter __first, _ForwardIter __last,
_Compare __comp)
{
;
;
if (__first == __last) return __first;
_ForwardIter __result = __first;
while (++__first != __last)
if (__comp(*__first, *__result))
__result = __first;
return __result;
}
template <class _BidirectionalIter>
bool next_permutation(_BidirectionalIter __first, _BidirectionalIter __last)
{
;
;
if (__first == __last)
return false;
_BidirectionalIter __i = __first;
++__i;
if (__i == __last)
return false;
__i = __last;
--__i;
for(;;) {
_BidirectionalIter __ii = __i;
--__i;
if (*__i < *__ii) {
_BidirectionalIter __j = __last;
while (!(*__i < *--__j))
{}
iter_swap(__i, __j);
reverse(__ii, __last);
return true;
}
if (__i == __first) {
reverse(__first, __last);
return false;
}
}
}
template <class _BidirectionalIter, class _Compare>
bool next_permutation(_BidirectionalIter __first, _BidirectionalIter __last,
_Compare __comp)
{
;
;
if (__first == __last)
return false;
_BidirectionalIter __i = __first;
++__i;
if (__i == __last)
return false;
__i = __last;
--__i;
for(;;) {
_BidirectionalIter __ii = __i;
--__i;
if (__comp(*__i, *__ii)) {
_BidirectionalIter __j = __last;
while (!__comp(*__i, *--__j))
{}
iter_swap(__i, __j);
reverse(__ii, __last);
return true;
}
if (__i == __first) {
reverse(__first, __last);
return false;
}
}
}
template <class _BidirectionalIter>
bool prev_permutation(_BidirectionalIter __first, _BidirectionalIter __last)
{
;
;
if (__first == __last)
return false;
_BidirectionalIter __i = __first;
++__i;
if (__i == __last)
return false;
__i = __last;
--__i;
for(;;) {
_BidirectionalIter __ii = __i;
--__i;
if (*__ii < *__i) {
_BidirectionalIter __j = __last;
while (!(*--__j < *__i))
{}
iter_swap(__i, __j);
reverse(__ii, __last);
return true;
}
if (__i == __first) {
reverse(__first, __last);
return false;
}
}
}
template <class _BidirectionalIter, class _Compare>
bool prev_permutation(_BidirectionalIter __first, _BidirectionalIter __last,
_Compare __comp)
{
;
;
if (__first == __last)
return false;
_BidirectionalIter __i = __first;
++__i;
if (__i == __last)
return false;
__i = __last;
--__i;
for(;;) {
_BidirectionalIter __ii = __i;
--__i;
if (__comp(*__ii, *__i)) {
_BidirectionalIter __j = __last;
while (!__comp(*--__j, *__i))
{}
iter_swap(__i, __j);
reverse(__ii, __last);
return true;
}
if (__i == __first) {
reverse(__first, __last);
return false;
}
}
}
template <class _InputIter, class _ForwardIter>
_InputIter find_first_of(_InputIter __first1, _InputIter __last1,
_ForwardIter __first2, _ForwardIter __last2)
{
;
;
;
for ( ; __first1 != __last1; ++__first1)
for (_ForwardIter __iter = __first2; __iter != __last2; ++__iter)
if (*__first1 == *__iter)
return __first1;
return __last1;
}
template <class _InputIter, class _ForwardIter, class _BinaryPredicate>
_InputIter find_first_of(_InputIter __first1, _InputIter __last1,
_ForwardIter __first2, _ForwardIter __last2,
_BinaryPredicate __comp)
{
;
;
;
;
for ( ; __first1 != __last1; ++__first1)
for (_ForwardIter __iter = __first2; __iter != __last2; ++__iter)
if (__comp(*__first1, *__iter))
return __first1;
return __last1;
}
# 3419 "/opt/egcs/include/g++-v3/bits/stl_algo.h" 3
template <class _ForwardIter1, class _ForwardIter2>
_ForwardIter1 __find_end(_ForwardIter1 __first1, _ForwardIter1 __last1,
_ForwardIter2 __first2, _ForwardIter2 __last2,
forward_iterator_tag, forward_iterator_tag)
{
if (__first2 == __last2)
return __last1;
else {
_ForwardIter1 __result = __last1;
while (1) {
_ForwardIter1 __new_result
= search(__first1, __last1, __first2, __last2);
if (__new_result == __last1)
return __result;
else {
__result = __new_result;
__first1 = __new_result;
++__first1;
}
}
}
}
template <class _ForwardIter1, class _ForwardIter2,
class _BinaryPredicate>
_ForwardIter1 __find_end(_ForwardIter1 __first1, _ForwardIter1 __last1,
_ForwardIter2 __first2, _ForwardIter2 __last2,
forward_iterator_tag, forward_iterator_tag,
_BinaryPredicate __comp)
{
if (__first2 == __last2)
return __last1;
else {
_ForwardIter1 __result = __last1;
while (1) {
_ForwardIter1 __new_result
= search(__first1, __last1, __first2, __last2, __comp);
if (__new_result == __last1)
return __result;
else {
__result = __new_result;
__first1 = __new_result;
++__first1;
}
}
}
}
template <class _BidirectionalIter1, class _BidirectionalIter2>
_BidirectionalIter1
__find_end(_BidirectionalIter1 __first1, _BidirectionalIter1 __last1,
_BidirectionalIter2 __first2, _BidirectionalIter2 __last2,
bidirectional_iterator_tag, bidirectional_iterator_tag)
{
;
;
typedef reverse_iterator<_BidirectionalIter1> _RevIter1;
typedef reverse_iterator<_BidirectionalIter2> _RevIter2;
_RevIter1 __rlast1(__first1);
_RevIter2 __rlast2(__first2);
_RevIter1 __rresult = search(_RevIter1(__last1), __rlast1,
_RevIter2(__last2), __rlast2);
if (__rresult == __rlast1)
return __last1;
else {
_BidirectionalIter1 __result = __rresult.base();
advance(__result, -distance(__first2, __last2));
return __result;
}
}
template <class _BidirectionalIter1, class _BidirectionalIter2,
class _BinaryPredicate>
_BidirectionalIter1
__find_end(_BidirectionalIter1 __first1, _BidirectionalIter1 __last1,
_BidirectionalIter2 __first2, _BidirectionalIter2 __last2,
bidirectional_iterator_tag, bidirectional_iterator_tag,
_BinaryPredicate __comp)
{
;
;
typedef reverse_iterator<_BidirectionalIter1> _RevIter1;
typedef reverse_iterator<_BidirectionalIter2> _RevIter2;
_RevIter1 __rlast1(__first1);
_RevIter2 __rlast2(__first2);
_RevIter1 __rresult = search(_RevIter1(__last1), __rlast1,
_RevIter2(__last2), __rlast2,
__comp);
if (__rresult == __rlast1)
return __last1;
else {
_BidirectionalIter1 __result = __rresult.base();
advance(__result, -distance(__first2, __last2));
return __result;
}
}
template <class _ForwardIter1, class _ForwardIter2>
inline _ForwardIter1
find_end(_ForwardIter1 __first1, _ForwardIter1 __last1,
_ForwardIter2 __first2, _ForwardIter2 __last2)
{
;
;
;
return __find_end(__first1, __last1, __first2, __last2,
__iterator_category(__first1),
__iterator_category(__first2));
}
template <class _ForwardIter1, class _ForwardIter2,
class _BinaryPredicate>
inline _ForwardIter1
find_end(_ForwardIter1 __first1, _ForwardIter1 __last1,
_ForwardIter2 __first2, _ForwardIter2 __last2,
_BinaryPredicate __comp)
{
;
;
;
return __find_end(__first1, __last1, __first2, __last2,
__iterator_category(__first1),
__iterator_category(__first2),
__comp);
}
template <class _RandomAccessIter, class _Distance>
bool __is_heap(_RandomAccessIter __first, _Distance __n)
{
_Distance __parent = 0;
for (_Distance __child = 1; __child < __n; ++__child) {
if (__first[__parent] < __first[__child])
return false;
if ((__child & 1) == 0)
++__parent;
}
return true;
}
template <class _RandomAccessIter, class _Distance, class _StrictWeakOrdering>
bool __is_heap(_RandomAccessIter __first, _StrictWeakOrdering __comp,
_Distance __n)
{
_Distance __parent = 0;
for (_Distance __child = 1; __child < __n; ++__child) {
if (__comp(__first[__parent], __first[__child]))
return false;
if ((__child & 1) == 0)
++__parent;
}
return true;
}
template <class _RandomAccessIter>
inline bool is_heap(_RandomAccessIter __first, _RandomAccessIter __last)
{
;
;
return __is_heap(__first, __last - __first);
}
template <class _RandomAccessIter, class _StrictWeakOrdering>
inline bool is_heap(_RandomAccessIter __first, _RandomAccessIter __last,
_StrictWeakOrdering __comp)
{
;
;
return __is_heap(__first, __comp, __last - __first);
}
template <class _ForwardIter>
bool is_sorted(_ForwardIter __first, _ForwardIter __last)
{
;
;
if (__first == __last)
return true;
_ForwardIter __next = __first;
for (++__next; __next != __last; __first = __next, ++__next) {
if (*__next < *__first)
return false;
}
return true;
}
template <class _ForwardIter, class _StrictWeakOrdering>
bool is_sorted(_ForwardIter __first, _ForwardIter __last,
_StrictWeakOrdering __comp)
{
;
;
if (__first == __last)
return true;
_ForwardIter __next = __first;
for (++__next; __next != __last; __first = __next, ++__next) {
if (__comp(*__next, *__first))
return false;
}
return true;
}
}
# 66 "/opt/egcs/include/g++-v3/bits/std_algorithm.h" 2 3
# 50 "/opt/egcs/include/g++-v3/bits/std_string.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/basic_string.tcc" 1 3
# 43 "/opt/egcs/include/g++-v3/bits/basic_string.tcc" 3
namespace std
{
template<typename _CharT, typename _Traits, typename _Alloc>
const _CharT
basic_string<_CharT, _Traits, _Alloc>::
_Rep::_S_terminal = _CharT();
template<typename _CharT, typename _Traits, typename _Alloc>
const typename basic_string<_CharT, _Traits, _Alloc>::size_type
basic_string<_CharT, _Traits, _Alloc>::
_Rep::_S_max_size = (((npos - sizeof(_Rep))/sizeof(_CharT)) - 1) / 4;
template<typename _CharT, typename _Traits, typename _Alloc>
const typename basic_string<_CharT, _Traits, _Alloc>::size_type
basic_string<_CharT, _Traits, _Alloc>::npos;
template<typename _CharT, typename _Traits, typename _Alloc>
typename basic_string<_CharT, _Traits, _Alloc>::size_type
basic_string<_CharT, _Traits, _Alloc>::_S_empty_rep_storage[
(sizeof(_Rep) + sizeof(_CharT) + sizeof(size_type) - 1)/sizeof(size_type)];
template<typename _CharT, typename _Traits, typename _Alloc>
template<typename _InIter>
_CharT*
basic_string<_CharT, _Traits, _Alloc>::
_S_construct(_InIter __beg, _InIter __end, const _Alloc& __a,
input_iterator_tag)
{
if (__beg == __end && __a == _Alloc())
return _S_empty_rep()._M_refcopy();
_CharT __buf[100];
size_type __i = 0;
while (__beg != __end && __i < sizeof(__buf) / sizeof(_CharT))
{
__buf[__i++] = *__beg;
++__beg;
}
_Rep* __r = _Rep::_S_create(__i, __a);
traits_type::copy(__r->_M_refdata(), __buf, __i);
__r->_M_length = __i;
try
{
for (;;)
{
_CharT* __p = __r->_M_refdata() + __r->_M_length;
_CharT* __last = __r->_M_refdata() + __r->_M_capacity;
for (;;)
{
if (__beg == __end)
{
__r->_M_length = __p - __r->_M_refdata();
*__p = _Rep::_S_terminal;
return __r->_M_refdata();
}
if (__p == __last)
break;
*__p++ = *__beg;
++__beg;
}
size_type __len = __p - __r->_M_refdata();
_Rep* __another = _Rep::_S_create(__len + 1, __a);
traits_type::copy(__another->_M_refdata(),
__r->_M_refdata(), __len);
__r->_M_destroy(__a);
__r = __another;
__r->_M_length = __len;
}
}
catch(...)
{
__r->_M_destroy(__a);
throw;
}
return 0;
}
template<typename _CharT, typename _Traits, typename _Alloc>
template <class _InIter>
_CharT*
basic_string<_CharT,_Traits,_Alloc>::
_S_construct(_InIter __beg, _InIter __end, const _Alloc& __a,
forward_iterator_tag)
{
size_type __dnew = static_cast<size_type>(distance(__beg, __end));
if (__beg == __end && __a == _Alloc())
return _S_empty_rep()._M_refcopy();
_Rep* __r = _Rep::_S_create(__dnew, __a);
try
{ _S_copy_chars(__r->_M_refdata(), __beg, __end); }
catch(...)
{
__r->_M_destroy(__a);
throw;
}
__r->_M_length = __dnew;
__r->_M_refdata()[__dnew] = _Rep::_S_terminal;
return __r->_M_refdata();
}
template<typename _CharT, typename _Traits, typename _Alloc>
_CharT*
basic_string<_CharT,_Traits, _Alloc>::
_S_construct(size_type __n, _CharT __c, const _Alloc& __a)
{
if (__n == 0 && __a == _Alloc())
return _S_empty_rep()._M_refcopy();
_Rep* __r = _Rep::_S_create(__n, __a);
try
{
if (__n)
traits_type::assign(__r->_M_refdata(), __n, __c);
}
catch(...)
{
__r->_M_destroy(__a);
throw;
}
__r->_M_length = __n;
__r->_M_refdata()[__n] = _Rep::_S_terminal;
return __r->_M_refdata();
}
template<typename _CharT, typename _Traits, typename _Alloc>
basic_string<_CharT, _Traits, _Alloc>::
basic_string(const basic_string& __str)
: _M_dataplus(__str._M_rep()->_M_grab(_Alloc(), __str.get_allocator()),
__str.get_allocator())
{ }
template<typename _CharT, typename _Traits, typename _Alloc>
basic_string<_CharT, _Traits, _Alloc>::
basic_string(const _Alloc& __a)
: _M_dataplus(_S_construct(size_type(), _CharT(), __a), __a)
{ }
template<typename _CharT, typename _Traits, typename _Alloc>
basic_string<_CharT, _Traits, _Alloc>::
basic_string(const basic_string& __str, size_type __pos, size_type __n)
: _M_dataplus(_S_construct(__str._M_check(__pos),
__str._M_fold(__pos, __n), _Alloc()), _Alloc())
{ }
template<typename _CharT, typename _Traits, typename _Alloc>
basic_string<_CharT, _Traits, _Alloc>::
basic_string(const basic_string& __str, size_type __pos,
size_type __n, const _Alloc& __a)
: _M_dataplus(_S_construct(__str._M_check(__pos),
__str._M_fold(__pos, __n), __a), __a)
{ }
template<typename _CharT, typename _Traits, typename _Alloc>
basic_string<_CharT, _Traits, _Alloc>::
basic_string(const _CharT* __s, size_type __n, const _Alloc& __a)
: _M_dataplus(_S_construct(__s, __s + __n, __a), __a)
{ }
template<typename _CharT, typename _Traits, typename _Alloc>
basic_string<_CharT, _Traits, _Alloc>::
basic_string(const _CharT* __s, const _Alloc& __a)
: _M_dataplus(_S_construct(__s, __s + traits_type::length(__s), __a), __a)
{ }
template<typename _CharT, typename _Traits, typename _Alloc>
basic_string<_CharT, _Traits, _Alloc>::
basic_string(size_type __n, _CharT __c, const _Alloc& __a)
: _M_dataplus(_S_construct(__n, __c, __a), __a)
{ }
template<typename _CharT, typename _Traits, typename _Alloc>
template<typename _InputIter>
basic_string<_CharT, _Traits, _Alloc>::
basic_string(_InputIter __beg, _InputIter __end, const _Alloc& __a)
: _M_dataplus(_S_construct(__beg, __end, __a), __a)
{ }
template<typename _CharT, typename _Traits, typename _Alloc>
basic_string<_CharT, _Traits, _Alloc>&
basic_string<_CharT, _Traits, _Alloc>::assign(const basic_string& __str)
{
if (_M_rep() != __str._M_rep())
{
allocator_type __a = this->get_allocator();
_CharT* __tmp = __str._M_rep()->_M_grab(__a, __str.get_allocator());
_M_rep()->_M_dispose(__a);
_M_data(__tmp);
}
return *this;
}
template<typename _CharT, typename _Traits, typename _Alloc>
void
basic_string<_CharT, _Traits, _Alloc>::_Rep::
_M_destroy(const _Alloc& __a) throw ()
{
size_type __size = sizeof(_Rep) + (_M_capacity + 1) * sizeof(_CharT);
_Raw_bytes_alloc(__a).deallocate(reinterpret_cast<char*>(this), __size);
}
template<typename _CharT, typename _Traits, typename _Alloc>
void
basic_string<_CharT, _Traits, _Alloc>::_M_leak_hard()
{
if (_M_rep()->_M_is_shared())
_M_mutate(0, 0, 0);
_M_rep()->_M_set_leaked();
}
template<typename _CharT, typename _Traits, typename _Alloc>
void
basic_string<_CharT, _Traits, _Alloc>::
_M_mutate(size_type __pos, size_type __len1, size_type __len2)
{
size_type __old_size = this->size();
const size_type __new_size = __old_size + __len2 - __len1;
const _CharT* __src = _M_data() + __pos + __len1;
const size_type __how_much = __old_size - __pos - __len1;
if (_M_rep()->_M_is_shared() || __new_size > capacity())
{
allocator_type __a = get_allocator();
_Rep* __r = _Rep::_S_create(__new_size, __a);
try
{
if (__pos)
traits_type::copy(__r->_M_refdata(), _M_data(), __pos);
if (__how_much)
traits_type::copy(__r->_M_refdata() + __pos + __len2,
__src, __how_much);
}
catch(...)
{
__r->_M_dispose(get_allocator());
throw;
}
_M_rep()->_M_dispose(__a);
_M_data(__r->_M_refdata());
}
else if (__how_much && __len1 != __len2)
{
traits_type::move(_M_data() + __pos + __len2, __src, __how_much);
}
_M_rep()->_M_set_sharable();
_M_rep()->_M_length = __new_size;
_M_data()[__new_size] = _Rep::_S_terminal;
}
template<typename _CharT, typename _Traits, typename _Alloc>
void
basic_string<_CharT, _Traits, _Alloc>::reserve(size_type __res)
{
if (__res > this->capacity() || _M_rep()->_M_is_shared())
{
if (__res > this->max_size())
__throw_length_error("basic_string::reserve");
allocator_type __a = get_allocator();
_CharT* __tmp = _M_rep()->_M_clone(__a, __res - this->size());
_M_rep()->_M_dispose(__a);
_M_data(__tmp);
}
}
template<typename _CharT, typename _Traits, typename _Alloc>
void basic_string<_CharT, _Traits, _Alloc>::swap(basic_string& __s)
{
if (_M_rep()->_M_is_leaked())
_M_rep()->_M_set_sharable();
if (__s._M_rep()->_M_is_leaked())
__s._M_rep()->_M_set_sharable();
if (this->get_allocator() == __s.get_allocator())
{
_CharT* __tmp = _M_data();
_M_data(__s._M_data());
__s._M_data(__tmp);
}
else
{
basic_string __tmp1(_M_ibegin(), _M_iend(), __s.get_allocator());
basic_string __tmp2(__s._M_ibegin(), __s._M_iend(),
this->get_allocator());
*this = __tmp2;
__s = __tmp1;
}
}
# 356 "/opt/egcs/include/g++-v3/bits/basic_string.tcc" 3
template<typename _CharT, typename _Traits, typename _Alloc>
basic_string<_CharT, _Traits, _Alloc>::_Rep*
basic_string<_CharT, _Traits, _Alloc>::_Rep::
_S_create(size_t __capacity, const _Alloc& __alloc)
{
typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
if (__capacity > _S_max_size)
__throw_length_error("basic_string::_S_create");
size_t __size = (__capacity + 1) * sizeof(_CharT) + sizeof(_Rep);
void* __place = _Raw_bytes_alloc(__alloc).allocate(__size);
_Rep *__p = new (__place) _Rep;
__p->_M_capacity = __capacity;
__p->_M_set_sharable();
__p->_M_length = 0;
return __p;
}
template<typename _CharT, typename _Traits, typename _Alloc>
_CharT*
basic_string<_CharT, _Traits, _Alloc>::_Rep::
_M_clone(const _Alloc& __alloc, size_type __res)
{
_Rep* __r = _Rep::_S_create(_M_length + __res, __alloc);
if (_M_length)
{
try
{ traits_type::copy(__r->_M_refdata(), _M_refdata(), _M_length); }
catch(...)
{
__r->_M_destroy(__alloc);
throw;
}
}
__r->_M_length = _M_length;
return __r->_M_refdata();
}
template<typename _CharT, typename _Traits, typename _Alloc>
inline bool
basic_string<_CharT, _Traits, _Alloc>::_Rep::
_S_excess_slop(size_t __s, size_t __r)
{
return 2 * (__s <= 16 ? 16 : __s) < __r;
}
template<typename _CharT, typename _Traits, typename _Alloc>
void
basic_string<_CharT, _Traits, _Alloc>::resize(size_type __n, _CharT __c)
{
if (__n > max_size())
__throw_length_error("basic_string::resize");
size_type __size = this->size();
if (__size < __n)
this->append(__n - __size, __c);
else if (__n < __size)
this->erase(__n);
}
template<typename _CharT, typename _Traits, typename _Alloc>
template<typename _InputIter>
basic_string<_CharT, _Traits, _Alloc>&
basic_string<_CharT, _Traits, _Alloc>::
_M_replace(iterator __i1, iterator __i2, _InputIter __k1,
_InputIter __k2, input_iterator_tag)
{
basic_string __s(__k1, __k2);
return this->replace(__i1, __i2, __s._M_ibegin(), __s._M_iend());
}
template<typename _CharT, typename _Traits, typename _Alloc>
template<typename _ForwardIter>
basic_string<_CharT, _Traits, _Alloc>&
basic_string<_CharT, _Traits, _Alloc>::
_M_replace(iterator __i1, iterator __i2, _ForwardIter __k1,
_ForwardIter __k2, forward_iterator_tag)
{
size_type __dold = __i2 - __i1;
size_type __dmax = this->max_size();
size_type __dnew = static_cast<size_type>(distance(__k1, __k2));
if (__dmax <= __dnew)
__throw_length_error("basic_string::_M_replace");
size_type __off = __i1 - _M_ibegin();
_M_mutate(__off, __dold, __dnew);
if (__dnew)
_S_copy_chars(_M_data() + __off, __k1, __k2);
return *this;
}
template<typename _CharT, typename _Traits, typename _Alloc>
basic_string<_CharT, _Traits, _Alloc>&
basic_string<_CharT, _Traits, _Alloc>::
replace(size_type __pos1, size_type __n1, const basic_string& __str,
size_type __pos2, size_type __n2)
{
return this->replace(_M_check(__pos1), _M_fold(__pos1, __n1),
__str._M_check(__pos2),
__str._M_fold(__pos2, __n2));
}
template<typename _CharT, typename _Traits, typename _Alloc>
basic_string<_CharT,_Traits,_Alloc>&
basic_string<_CharT,_Traits,_Alloc>::
append(const basic_string& __str)
{
size_type __size = __str.size();
size_type __len = __size + this->size();
if (__len > this->capacity())
this->reserve(__len);
return this->replace(_M_iend(), _M_iend(), __str._M_ibegin(),
__str._M_iend());
}
template<typename _CharT, typename _Traits, typename _Alloc>
basic_string<_CharT,_Traits,_Alloc>&
basic_string<_CharT,_Traits,_Alloc>::
append(const basic_string& __str, size_type __pos, size_type __n)
{
size_type __len = min(__str.size() - __pos, __n) + this->size();
if (__len > this->capacity())
this->reserve(__len);
return this->replace(_M_iend(), _M_iend(), __str._M_check(__pos),
__str._M_fold(__pos, __n));
}
template<typename _CharT, typename _Traits, typename _Alloc>
basic_string<_CharT,_Traits,_Alloc>&
basic_string<_CharT,_Traits,_Alloc>::
append(const _CharT* __s, size_type __n)
{
size_type __len = __n + this->size();
if (__len > this->capacity())
this->reserve(__len);
return this->replace(_M_iend(), _M_iend(), __s, __s + __n);
}
template<typename _CharT, typename _Traits, typename _Alloc>
basic_string<_CharT,_Traits,_Alloc>&
basic_string<_CharT,_Traits,_Alloc>::
append(size_type __n, _CharT __c)
{
size_type __len = __n + this->size();
if (__len > this->capacity())
this->reserve(__len);
return this->replace(_M_iend(), _M_iend(), __n, __c);
}
template<typename _CharT, typename _Traits, typename _Alloc>
basic_string<_CharT,_Traits,_Alloc>
operator+(const _CharT* __lhs,
const basic_string<_CharT,_Traits,_Alloc>& __rhs)
{
typedef basic_string<_CharT,_Traits,_Alloc> __string_type;
typedef typename __string_type::size_type __size_type;
__size_type __len = _Traits::length(__lhs);
__string_type __str;
__str.reserve(__len + __rhs.size());
__str.append(__lhs, __lhs + __len);
__str.append(__rhs);
return __str;
}
template<typename _CharT, typename _Traits, typename _Alloc>
basic_string<_CharT,_Traits,_Alloc>
operator+(_CharT __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs)
{
typedef basic_string<_CharT,_Traits,_Alloc> __string_type;
typedef typename __string_type::size_type __size_type;
__string_type __str;
__size_type __len = __rhs.size();
__str.reserve(__len + 1);
__str.append(__size_type(1), __lhs);
__str.append(__rhs);
return __str;
}
template<typename _CharT, typename _Traits, typename _Alloc>
basic_string<_CharT, _Traits, _Alloc>&
basic_string<_CharT, _Traits, _Alloc>::
replace(iterator __i1, iterator __i2, size_type __n2, _CharT __c)
{
size_type __n1 = __i2 - __i1;
size_type __off1 = __i1 - _M_ibegin();
if (max_size() - (this->size() - __n1) <= __n2)
__throw_length_error("basic_string::replace");
_M_mutate (__off1, __n1, __n2);
if (__n2)
traits_type::assign(_M_data() + __off1, __n2, __c);
return *this;
}
template<typename _CharT, typename _Traits, typename _Alloc>
basic_string<_CharT, _Traits, _Alloc>::size_type
basic_string<_CharT, _Traits, _Alloc>::
copy(_CharT* __s, size_type __n, size_type __pos) const
{
if (__pos > this->size())
__throw_out_of_range("basic_string::copy");
if (__n > this->size() - __pos)
__n = this->size() - __pos;
traits_type::copy(__s, _M_data() + __pos, __n);
return __n;
}
template<typename _CharT, typename _Traits, typename _Alloc>
basic_string<_CharT, _Traits, _Alloc>::size_type
basic_string<_CharT, _Traits, _Alloc>::
find(const _CharT* __s, size_type __pos, size_type __n) const
{
size_type __size = this->size();
size_t __xpos = __pos;
const _CharT* __data = _M_data();
for (; __xpos + __n <= __size; ++__xpos)
if (traits_type::compare(__data + __xpos, __s, __n) == 0)
return __xpos;
return npos;
}
template<typename _CharT, typename _Traits, typename _Alloc>
basic_string<_CharT, _Traits, _Alloc>::size_type
basic_string<_CharT, _Traits, _Alloc>::
find(_CharT __c, size_type __pos) const
{
size_type __size = this->size();
size_type __ret = npos;
if (__pos < __size)
{
const _CharT* __data = _M_data();
size_type __n = __size - __pos;
const _CharT* __p = traits_type::find(__data + __pos, __n, __c);
if (__p)
__ret = __p - __data;
}
return __ret;
}
template<typename _CharT, typename _Traits, typename _Alloc>
basic_string<_CharT, _Traits, _Alloc>::size_type
basic_string<_CharT, _Traits, _Alloc>::
rfind(const _CharT* __s, size_type __pos, size_type __n) const
{
size_type __size = this->size();
if (__n <= __size)
{
__pos = std::min(__size - __n ,__pos);
const _CharT* __data = _M_data();
do
{
if (traits_type::compare(__data + __pos, __s, __n) == 0)
return __pos;
}
while (__pos-- > 0);
}
return npos;
}
template<typename _CharT, typename _Traits, typename _Alloc>
basic_string<_CharT, _Traits, _Alloc>::size_type
basic_string<_CharT, _Traits, _Alloc>::
rfind(_CharT __c, size_type __pos) const
{
size_type __size = this->size();
if (__size)
{
size_t __xpos = __size - 1;
if (__xpos > __pos)
__xpos = __pos;
for (++__xpos; __xpos-- > 0; )
if (traits_type::eq(_M_data()[__xpos], __c))
return __xpos;
}
return npos;
}
template<typename _CharT, typename _Traits, typename _Alloc>
basic_string<_CharT, _Traits, _Alloc>::size_type
basic_string<_CharT, _Traits, _Alloc>::
find_first_of(const _CharT* __s, size_type __pos, size_type __n) const
{
for (; __n && __pos < this->size(); ++__pos)
{
const _CharT* __p = traits_type::find(__s, __n, _M_data()[__pos]);
if (__p)
return __pos;
}
return npos;
}
template<typename _CharT, typename _Traits, typename _Alloc>
basic_string<_CharT, _Traits, _Alloc>::size_type
basic_string<_CharT, _Traits, _Alloc>::
find_last_of(const _CharT* __s, size_type __pos, size_type __n) const
{
size_type __size = this->size();
if (__size && __n)
{
if (--__size > __pos)
__size = __pos;
do
{
if (traits_type::find(__s, __n, _M_data()[__size]))
return __size;
}
while (__size-- != 0);
}
return npos;
}
template<typename _CharT, typename _Traits, typename _Alloc>
basic_string<_CharT, _Traits, _Alloc>::size_type
basic_string<_CharT, _Traits, _Alloc>::
find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const
{
size_t __xpos = __pos;
for (; __n && __xpos < this->size(); ++__xpos)
if (!traits_type::find(__s, __n, _M_data()[__xpos]))
return __xpos;
return npos;
}
template<typename _CharT, typename _Traits, typename _Alloc>
basic_string<_CharT, _Traits, _Alloc>::size_type
basic_string<_CharT, _Traits, _Alloc>::
find_first_not_of(_CharT __c, size_type __pos) const
{
size_t __xpos = __pos;
for (; __xpos < this->size(); ++__xpos)
if (!traits_type::eq(_M_data()[__xpos], __c))
return __xpos;
return npos;
}
template<typename _CharT, typename _Traits, typename _Alloc>
basic_string<_CharT, _Traits, _Alloc>::size_type
basic_string<_CharT, _Traits, _Alloc>::
find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const
{
size_type __size = this->size();
if (__size && __n)
{
if (--__size > __pos)
__size = __pos;
do
{
if (!traits_type::find(__s, __n, _M_data()[__size]))
return __size;
}
while (__size--);
}
return npos;
}
template<typename _CharT, typename _Traits, typename _Alloc>
basic_string<_CharT, _Traits, _Alloc>::size_type
basic_string<_CharT, _Traits, _Alloc>::
find_last_not_of(_CharT __c, size_type __pos) const
{
size_type __size = this->size();
if (__size)
{
if (--__size > __pos)
__size = __pos;
do
{
if (!traits_type::eq(_M_data()[__size], __c))
return __size;
}
while (__size--);
}
return npos;
}
template<typename _CharT, typename _Traits, typename _Alloc>
int
basic_string<_CharT, _Traits, _Alloc>::
compare(size_type __pos, size_type __n, const basic_string& __str) const
{
size_type __size = this->size();
size_type __osize = __str.size();
if (__pos > __size)
__throw_out_of_range("basic_string::compare");
size_type __rsize= min(__size - __pos, __n);
size_type __len = min(__rsize, __osize);
int __r = traits_type::compare(_M_data() + __pos, __str.data(), __len);
if (!__r)
__r = __rsize - __osize;
return __r;
}
template<typename _CharT, typename _Traits, typename _Alloc>
int
basic_string<_CharT, _Traits, _Alloc>::
compare(size_type __pos1, size_type __n1, const basic_string& __str,
size_type __pos2, size_type __n2) const
{
size_type __size = this->size();
size_type __osize = __str.size();
if (__pos1 > __size || __pos2 > __osize)
__throw_out_of_range("basic_string::compare");
size_type __rsize = min(__size - __pos1, __n1);
size_type __rosize = min(__osize - __pos2, __n2);
size_type __len = min(__rsize, __rosize);
int __r = traits_type::compare(_M_data() + __pos1,
__str.data() + __pos2, __len);
if (!__r)
__r = __rsize - __rosize;
return __r;
}
template<typename _CharT, typename _Traits, typename _Alloc>
int
basic_string<_CharT, _Traits, _Alloc>::
compare(const _CharT* __s) const
{
size_type __size = this->size();
int __r = traits_type::compare(_M_data(), __s, __size);
if (!__r)
__r = __size - traits_type::length(__s);
return __r;
}
template<typename _CharT, typename _Traits, typename _Alloc>
int
basic_string <_CharT,_Traits,_Alloc>::
compare(size_type __pos, size_type __n1, const _CharT* __s) const
{
size_type __size = this->size();
if (__pos > __size)
__throw_out_of_range("basic_string::compare");
size_type __osize = traits_type::length(__s);
size_type __rsize = min(__size - __pos, __n1);
size_type __len = min(__rsize, __osize);
int __r = traits_type::compare(_M_data() + __pos, __s, __len);
if (!__r)
__r = __rsize - __osize;
return __r;
}
template<typename _CharT, typename _Traits, typename _Alloc>
int
basic_string <_CharT,_Traits,_Alloc>::
compare(size_type __pos, size_type __n1, const _CharT* __s,
size_type __n2) const
{
size_type __size = this->size();
if (__pos > __size)
__throw_out_of_range("basic_string::compare");
size_type __osize = min(traits_type::length(__s), __n2);
size_type __rsize = min(__size - __pos, __n1);
size_type __len = min(__rsize, __osize);
int __r = traits_type::compare(_M_data() + __pos, __s, __len);
if (!__r)
__r = __rsize - __osize;
return __r;
}
template <class _CharT, class _Traits, class _Alloc>
void
_S_string_copy(const basic_string<_CharT, _Traits, _Alloc>& __str,
_CharT* __buf, typename _Alloc::size_type __bufsiz)
{
typedef typename _Alloc::size_type size_type;
size_type __strsize = __str.size();
size_type __bytes = min(__strsize, __bufsiz - 1);
_Traits::copy(__buf, __str.data(), __bytes);
__buf[__bytes] = _CharT();
}
}
# 51 "/opt/egcs/include/g++-v3/bits/std_string.h" 2 3
# 43 "/opt/egcs/include/g++-v3/bits/localefwd.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/std_cctype.h" 1 3
# 38 "/opt/egcs/include/g++-v3/bits/std_cctype.h" 3
# 1 "/usr/include/ctype.h" 1 3
# 26 "/usr/include/ctype.h" 3
# 1 "/usr/include/features.h" 1 3
# 27 "/usr/include/ctype.h" 2 3
# 1 "/usr/include/bits/types.h" 1 3
# 28 "/usr/include/ctype.h" 2 3
extern "C" {
# 40 "/usr/include/ctype.h" 3
# 1 "/usr/include/endian.h" 1 3
# 41 "/usr/include/ctype.h" 2 3
enum
{
_ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)),
_ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)),
_ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)),
_ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)),
_ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)),
_ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)),
_ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)),
_ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)),
_ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)),
_IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)),
_ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)),
_ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8))
};
# 75 "/usr/include/ctype.h" 3
extern __const unsigned short int *__ctype_b;
extern __const __int32_t *__ctype_tolower;
extern __const __int32_t *__ctype_toupper;
# 91 "/usr/include/ctype.h" 3
extern int isalnum (int) throw ();
extern int isalpha (int) throw ();
extern int iscntrl (int) throw ();
extern int isdigit (int) throw ();
extern int islower (int) throw ();
extern int isgraph (int) throw ();
extern int isprint (int) throw ();
extern int ispunct (int) throw ();
extern int isspace (int) throw ();
extern int isupper (int) throw ();
extern int isxdigit (int) throw ();
extern int isblank (int) throw ();
extern int tolower (int __c) throw ();
extern int toupper (int __c) throw ();
extern int isascii (int __c) throw ();
extern int toascii (int __c) throw ();
extern int _toupper (int) throw ();
extern int _tolower (int) throw ();
# 211 "/usr/include/ctype.h" 3
# 1 "/usr/include/xlocale.h" 1 3
# 212 "/usr/include/ctype.h" 2 3
# 224 "/usr/include/ctype.h" 3
extern int __isalnum_l (int, __locale_t) throw ();
extern int __isalpha_l (int, __locale_t) throw ();
extern int __iscntrl_l (int, __locale_t) throw ();
extern int __isdigit_l (int, __locale_t) throw ();
extern int __islower_l (int, __locale_t) throw ();
extern int __isgraph_l (int, __locale_t) throw ();
extern int __isprint_l (int, __locale_t) throw ();
extern int __ispunct_l (int, __locale_t) throw ();
extern int __isspace_l (int, __locale_t) throw ();
extern int __isupper_l (int, __locale_t) throw ();
extern int __isxdigit_l (int, __locale_t) throw ();
extern int __isblank_l (int, __locale_t) throw ();
extern int __tolower_l (int __c, __locale_t __l) throw ();
extern int __toupper_l (int __c, __locale_t __l) throw ();
# 277 "/usr/include/ctype.h" 3
}
# 39 "/opt/egcs/include/g++-v3/bits/std_cctype.h" 2 3
# 55 "/opt/egcs/include/g++-v3/bits/std_cctype.h" 3
namespace std
{
using ::isalnum;
using ::isalpha;
using ::iscntrl;
using ::isdigit;
using ::isgraph;
using ::islower;
using ::isprint;
using ::ispunct;
using ::isspace;
using ::isupper;
using ::isxdigit;
using ::tolower;
using ::toupper;
}
# 44 "/opt/egcs/include/g++-v3/bits/localefwd.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/functexcept.h" 1 3
# 34 "/opt/egcs/include/g++-v3/bits/functexcept.h" 3
# 1 "/opt/egcs/include/g++-v3/exception_defines.h" 1 3
# 35 "/opt/egcs/include/g++-v3/bits/functexcept.h" 2 3
namespace std
{
void
__throw_bad_exception(void);
void
__throw_bad_alloc(void);
void
__throw_bad_cast(void);
void
__throw_bad_typeid(void);
void
__throw_logic_error(const char* __s);
void
__throw_domain_error(const char* __s);
void
__throw_invalid_argument(const char* __s);
void
__throw_length_error(const char* __s);
void
__throw_out_of_range(const char* __s);
void
__throw_runtime_error(const char* __s);
void
__throw_range_error(const char* __s);
void
__throw_overflow_error(const char* __s);
void
__throw_underflow_error(const char* __s);
void
__throw_ios_failure(const char* __s);
}
# 45 "/opt/egcs/include/g++-v3/bits/localefwd.h" 2 3
namespace std
{
# 56 "/opt/egcs/include/g++-v3/bits/localefwd.h" 3
template<typename _Tp, typename _Alloc>
class vector;
class locale;
template<typename _CharT>
inline bool
isspace(_CharT, const locale&);
template<typename _CharT>
inline bool
isprint(_CharT, const locale&);
template<typename _CharT>
inline bool
iscntrl(_CharT, const locale&);
template<typename _CharT>
inline bool
isupper(_CharT, const locale&);
template<typename _CharT>
inline bool
islower(_CharT, const locale&);
template<typename _CharT>
inline bool
isalpha(_CharT, const locale&);
template<typename _CharT>
inline bool
isdigit(_CharT, const locale&);
template<typename _CharT>
inline bool
ispunct(_CharT, const locale&);
template<typename _CharT>
inline bool
isxdigit(_CharT, const locale&);
template<typename _CharT>
inline bool
isalnum(_CharT, const locale&);
template<typename _CharT>
inline bool
isgraph(_CharT, const locale&);
template<typename _CharT>
inline _CharT
toupper(_CharT, const locale&);
template<typename _CharT>
inline _CharT
tolower(_CharT, const locale&);
class ctype_base;
template<typename _CharT>
class ctype;
template<> class ctype<char>;
template<> class ctype<wchar_t>;
template<typename _CharT>
class ctype_byname;
class codecvt_base;
template<typename _InternT, typename _ExternT, typename _StateT>
class codecvt;
template<> class codecvt<char, char, mbstate_t>;
template<> class codecvt<wchar_t, char, mbstate_t>;
template<typename _InternT, typename _ExternT, typename _StateT>
class codecvt_byname;
template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
class num_get;
template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
class num_put;
template<typename _CharT> class numpunct;
template<typename _CharT> class numpunct_byname;
template<typename _CharT>
class collate;
template<typename _CharT> class
collate_byname;
class time_base;
template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
class time_get;
template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
class time_get_byname;
template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
class time_put;
template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
class time_put_byname;
class money_base;
template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
class money_get;
template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
class money_put;
template<typename _CharT, bool _Intl = false>
class moneypunct;
template<typename _CharT, bool _Intl = false>
class moneypunct_byname;
class messages_base;
template<typename _CharT>
class messages;
template<typename _CharT>
class messages_byname;
class locale
{
public:
typedef unsigned int category;
class facet;
class id;
class _Impl;
friend class facet;
friend class _Impl;
template<typename _Facet>
friend const _Facet&
use_facet(const locale&);
template<typename _Facet>
friend bool
has_facet(const locale&) throw();
static const category none = 0;
static const category ctype = 1L << 0;
static const category numeric = 1L << 1;
static const category collate = 1L << 2;
static const category time = 1L << 3;
static const category monetary = 1L << 4;
static const category messages = 1L << 5;
static const category all = (collate | ctype | monetary |
numeric | time | messages);
locale() throw();
locale(const locale& __other) throw();
explicit
locale(const char* __std_name);
locale(const locale& __base, const char* __s, category __cat);
locale(const locale& __base, const locale& __add, category __cat);
template<typename _Facet>
locale(const locale& __other, _Facet* __f);
~locale() throw();
const locale&
operator=(const locale& __other) throw();
template<typename _Facet>
locale
combine(const locale& __other);
string
name() const;
bool
operator==(const locale& __other) const throw ();
inline bool
operator!=(const locale& __other) const throw ()
{ return !(this->operator==(__other)); }
template<typename _Char, typename _Traits, typename _Alloc>
bool
operator()(const basic_string<_Char, _Traits, _Alloc>& __s1,
const basic_string<_Char, _Traits, _Alloc>& __s2) const;
static locale
global(const locale&);
static const locale&
classic();
private:
_Impl* _M_impl;
static _Impl* _S_classic;
static _Impl* _S_global;
static const size_t _S_num_categories = 6;
static const size_t _S_num_facets = 26;
explicit
locale(_Impl*) throw();
static inline void
_S_initialize()
{ if (!_S_classic) classic(); }
static category
_S_normalize_category(category);
void
_M_coalesce(const locale& __base, const locale& __add, category __cat);
};
class locale::_Impl
{
public:
typedef vector<facet*, allocator<facet*> > __vec_facet;
friend class locale;
friend class locale::facet;
template<typename _Facet>
friend const _Facet&
use_facet(const locale&);
template<typename _Facet>
friend bool
has_facet(const locale&) throw();
private:
size_t _M_references;
__vec_facet* _M_facets;
string _M_names[_S_num_categories];
__c_locale _M_c_locale;
static const locale::id* const _S_id_ctype[];
static const locale::id* const _S_id_numeric[];
static const locale::id* const _S_id_collate[];
static const locale::id* const _S_id_time[];
static const locale::id* const _S_id_monetary[];
static const locale::id* const _S_id_messages[];
static const locale::id* const* const _S_facet_categories[];
inline void
_M_add_reference() throw()
{ ++_M_references; }
inline void
_M_remove_reference() throw()
{
if (--_M_references == 0)
{
try
{ delete this; }
catch(...)
{ }
}
}
_Impl(const _Impl&, size_t);
_Impl(string __name, size_t);
~_Impl() throw();
bool
_M_check_same_name()
{
bool __ret = true;
for (size_t i = 0; i < _S_num_categories - 1; ++i)
__ret &= _M_names[i] == _M_names[i + 1];
return __ret;
}
void
_M_replace_categories(const _Impl*, category);
void
_M_replace_category(const _Impl*, const locale::id* const*);
void
_M_replace_facet(const _Impl*, const locale::id*);
void
_M_install_facet(const locale::id*, facet*);
template<typename _Facet>
inline void
_M_init_facet(_Facet* __facet)
{ _M_install_facet(&_Facet::id, __facet); }
};
template<typename _Facet>
locale::locale(const locale& __other, _Facet* __f)
{
_M_impl = new _Impl(*__other._M_impl, 1);
_M_impl->_M_install_facet(&_Facet::id, __f);
for (size_t __i = 0; __i < _S_num_categories; ++__i)
_M_impl->_M_names[__i] = "*";
}
class locale::facet
{
friend class locale;
friend class locale::_Impl;
protected:
explicit
facet(size_t __refs = 0) throw();
virtual
~facet() { };
static void
_S_create_c_locale(__c_locale& __cloc, const char* __s);
static void
_S_destroy_c_locale(__c_locale& __cloc);
private:
size_t _M_references;
void
_M_add_reference() throw();
void
_M_remove_reference() throw();
facet(const facet&);
void
operator=(const facet&);
};
class locale::id
{
private:
friend class locale;
friend class locale::_Impl;
template<typename _Facet>
friend const _Facet&
use_facet(const locale&);
template<typename _Facet>
friend bool
has_facet(const locale&) throw ();
mutable size_t _M_index;
static size_t _S_highwater;
void
operator=(const id&);
id(const id&);
public:
id() { }
};
template<typename _Facet>
const _Facet&
use_facet(const locale& __loc);
template<typename _Facet>
bool
has_facet(const locale& __loc) throw();
}
# 44 "/opt/egcs/include/g++-v3/bits/std_ios.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/ios_base.h" 1 3
# 38 "/opt/egcs/include/g++-v3/bits/ios_base.h" 3
namespace std
{
enum _Ios_Fmtflags { _M_ios_fmtflags_end = 1L << 16 };
inline _Ios_Fmtflags
operator&(_Ios_Fmtflags __a, _Ios_Fmtflags __b)
{ return _Ios_Fmtflags(static_cast<int>(__a) & static_cast<int>(__b)); }
inline _Ios_Fmtflags
operator|(_Ios_Fmtflags __a, _Ios_Fmtflags __b)
{ return _Ios_Fmtflags(static_cast<int>(__a) | static_cast<int>(__b)); }
inline _Ios_Fmtflags
operator^(_Ios_Fmtflags __a, _Ios_Fmtflags __b)
{ return _Ios_Fmtflags(static_cast<int>(__a) ^ static_cast<int>(__b)); }
inline _Ios_Fmtflags
operator|=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
{ return __a = __a | __b; }
inline _Ios_Fmtflags
operator&=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
{ return __a = __a & __b; }
inline _Ios_Fmtflags
operator^=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
{ return __a = __a ^ __b; }
inline _Ios_Fmtflags
operator~(_Ios_Fmtflags __a)
{ return _Ios_Fmtflags(~static_cast<int>(__a)); }
enum _Ios_Openmode { _M_ios_openmode_end = 1L << 16 };
inline _Ios_Openmode
operator&(_Ios_Openmode __a, _Ios_Openmode __b)
{ return _Ios_Openmode(static_cast<int>(__a) & static_cast<int>(__b)); }
inline _Ios_Openmode
operator|(_Ios_Openmode __a, _Ios_Openmode __b)
{ return _Ios_Openmode(static_cast<int>(__a) | static_cast<int>(__b)); }
inline _Ios_Openmode
operator^(_Ios_Openmode __a, _Ios_Openmode __b)
{ return _Ios_Openmode(static_cast<int>(__a) ^ static_cast<int>(__b)); }
inline _Ios_Openmode
operator|=(_Ios_Openmode& __a, _Ios_Openmode __b)
{ return __a = __a | __b; }
inline _Ios_Openmode
operator&=(_Ios_Openmode& __a, _Ios_Openmode __b)
{ return __a = __a & __b; }
inline _Ios_Openmode
operator^=(_Ios_Openmode& __a, _Ios_Openmode __b)
{ return __a = __a ^ __b; }
inline _Ios_Openmode
operator~(_Ios_Openmode __a)
{ return _Ios_Openmode(~static_cast<int>(__a)); }
enum _Ios_Iostate { _M_ios_iostate_end = 1L << 16 };
inline _Ios_Iostate
operator&(_Ios_Iostate __a, _Ios_Iostate __b)
{ return _Ios_Iostate(static_cast<int>(__a) & static_cast<int>(__b)); }
inline _Ios_Iostate
operator|(_Ios_Iostate __a, _Ios_Iostate __b)
{ return _Ios_Iostate(static_cast<int>(__a) | static_cast<int>(__b)); }
inline _Ios_Iostate
operator^(_Ios_Iostate __a, _Ios_Iostate __b)
{ return _Ios_Iostate(static_cast<int>(__a) ^ static_cast<int>(__b)); }
inline _Ios_Iostate
operator|=(_Ios_Iostate& __a, _Ios_Iostate __b)
{ return __a = __a | __b; }
inline _Ios_Iostate
operator&=(_Ios_Iostate& __a, _Ios_Iostate __b)
{ return __a = __a & __b; }
inline _Ios_Iostate
operator^=(_Ios_Iostate& __a, _Ios_Iostate __b)
{ return __a = __a ^ __b; }
inline _Ios_Iostate
operator~(_Ios_Iostate __a)
{ return _Ios_Iostate(~static_cast<int>(__a)); }
enum _Ios_Seekdir { _M_ios_seekdir_end = 1L << 16 };
class ios_base
{
public:
class failure : public exception
{
public:
explicit
failure(const string& __str) throw();
virtual
~failure() throw();
virtual const char*
what() const throw();
private:
enum { _M_bufsize = 256 };
char _M_name[_M_bufsize];
};
typedef _Ios_Fmtflags fmtflags;
static const fmtflags boolalpha = fmtflags(__ios_flags::_S_boolalpha);
static const fmtflags dec = fmtflags(__ios_flags::_S_dec);
static const fmtflags fixed = fmtflags(__ios_flags::_S_fixed);
static const fmtflags hex = fmtflags(__ios_flags::_S_hex);
static const fmtflags internal = fmtflags(__ios_flags::_S_internal);
static const fmtflags left = fmtflags(__ios_flags::_S_left);
static const fmtflags oct = fmtflags(__ios_flags::_S_oct);
static const fmtflags right = fmtflags(__ios_flags::_S_right);
static const fmtflags scientific = fmtflags(__ios_flags::_S_scientific);
static const fmtflags showbase = fmtflags(__ios_flags::_S_showbase);
static const fmtflags showpoint = fmtflags(__ios_flags::_S_showpoint);
static const fmtflags showpos = fmtflags(__ios_flags::_S_showpos);
static const fmtflags skipws = fmtflags(__ios_flags::_S_skipws);
static const fmtflags unitbuf = fmtflags(__ios_flags::_S_unitbuf);
static const fmtflags uppercase = fmtflags(__ios_flags::_S_uppercase);
static const fmtflags adjustfield = fmtflags(__ios_flags::_S_adjustfield);
static const fmtflags basefield = fmtflags(__ios_flags::_S_basefield);
static const fmtflags floatfield = fmtflags(__ios_flags::_S_floatfield);
typedef _Ios_Iostate iostate;
static const iostate badbit = iostate(__ios_flags::_S_badbit);
static const iostate eofbit = iostate(__ios_flags::_S_eofbit);
static const iostate failbit = iostate(__ios_flags::_S_failbit);
static const iostate goodbit = iostate(0);
typedef _Ios_Openmode openmode;
static const openmode app = openmode(__ios_flags::_S_app);
static const openmode ate = openmode(__ios_flags::_S_ate);
static const openmode binary = openmode(__ios_flags::_S_bin);
static const openmode in = openmode(__ios_flags::_S_in);
static const openmode out = openmode(__ios_flags::_S_out);
static const openmode trunc = openmode(__ios_flags::_S_trunc);
typedef _Ios_Seekdir seekdir;
static const seekdir beg = seekdir(0);
static const seekdir cur = seekdir(1);
static const seekdir end = seekdir(2);
# 216 "/opt/egcs/include/g++-v3/bits/ios_base.h" 3
enum event
{
erase_event,
imbue_event,
copyfmt_event
};
typedef void (*event_callback) (event, ios_base&, int);
void
register_callback(event_callback __fn, int __index);
protected:
streamsize _M_precision;
streamsize _M_width;
fmtflags _M_flags;
struct _Callback_list
{
_Callback_list* _M_next;
ios_base::event_callback _M_fn;
int _M_index;
int _M_refcount;
_Callback_list(ios_base::event_callback __fn, int __index,
_Callback_list* __cb)
: _M_next(__cb), _M_fn(__fn), _M_index(__index), _M_refcount(0) { }
void
_M_add_reference() { ++_M_refcount; }
int
_M_remove_reference() { return _M_refcount--; }
};
_Callback_list* _M_callbacks;
void
_M_call_callbacks(event __ev) throw();
void
_M_dispose_callbacks(void);
struct _Words
{
void* _M_pword;
long _M_iword;
};
static const int _S_local_words = 8;
_Words _M_word_array[_S_local_words];
_Words _M_dummy;
_Words* _M_words;
int _M_word_limit;
_Words&
_M_grow_words(int __index);
locale _M_ios_locale;
void
_M_init();
public:
class Init
{
friend class ios_base;
public:
Init();
~Init();
static void
_S_ios_create(bool __sync);
static void
_S_ios_destroy();
private:
static int _S_ios_base_init;
static bool _S_synced_with_stdio;
};
inline fmtflags
flags() const { return _M_flags; }
inline fmtflags
flags(fmtflags __fmtfl)
{
fmtflags __old = _M_flags;
_M_flags = __fmtfl;
return __old;
}
inline fmtflags
setf(fmtflags __fmtfl)
{
fmtflags __old = _M_flags;
_M_flags |= __fmtfl;
return __old;
}
inline fmtflags
setf(fmtflags __fmtfl, fmtflags __mask)
{
fmtflags __old = _M_flags;
_M_flags &= ~__mask;
_M_flags |= (__fmtfl & __mask);
return __old;
}
inline void
unsetf(fmtflags __mask) { _M_flags &= ~__mask; }
inline streamsize
precision() const { return _M_precision; }
inline streamsize
precision(streamsize __prec)
{
streamsize __old = _M_precision;
_M_precision = __prec;
return __old;
}
inline streamsize
width() const { return _M_width; }
inline streamsize
width(streamsize __wide)
{
streamsize __old = _M_width;
_M_width = __wide;
return __old;
}
static bool
sync_with_stdio(bool __sync = true);
locale
imbue(const locale& __loc);
inline locale
getloc() const { return _M_ios_locale; }
static int
xalloc() throw();
inline long&
iword(int __ix)
{
_Words& __word = (__ix < _M_word_limit)
? _M_words[__ix] : _M_grow_words(__ix);
return __word._M_iword;
}
inline void*&
pword(int __ix)
{
_Words& __word = (__ix < _M_word_limit)
? _M_words[__ix] : _M_grow_words(__ix);
return __word._M_pword;
}
~ios_base();
protected:
ios_base();
private:
ios_base(const ios_base&);
ios_base&
operator=(const ios_base&);
};
inline ios_base&
boolalpha(ios_base& __base)
{
__base.setf(ios_base::boolalpha);
return __base;
}
inline ios_base&
noboolalpha(ios_base& __base)
{
__base.unsetf(ios_base::boolalpha);
return __base;
}
inline ios_base&
showbase(ios_base& __base)
{
__base.setf(ios_base::showbase);
return __base;
}
inline ios_base&
noshowbase(ios_base& __base)
{
__base.unsetf(ios_base::showbase);
return __base;
}
inline ios_base&
showpoint(ios_base& __base)
{
__base.setf(ios_base::showpoint);
return __base;
}
inline ios_base&
noshowpoint(ios_base& __base)
{
__base.unsetf(ios_base::showpoint);
return __base;
}
inline ios_base&
showpos(ios_base& __base)
{
__base.setf(ios_base::showpos);
return __base;
}
inline ios_base&
noshowpos(ios_base& __base)
{
__base.unsetf(ios_base::showpos);
return __base;
}
inline ios_base&
skipws(ios_base& __base)
{
__base.setf(ios_base::skipws);
return __base;
}
inline ios_base&
noskipws(ios_base& __base)
{
__base.unsetf(ios_base::skipws);
return __base;
}
inline ios_base&
uppercase(ios_base& __base)
{
__base.setf(ios_base::uppercase);
return __base;
}
inline ios_base&
nouppercase(ios_base& __base)
{
__base.unsetf(ios_base::uppercase);
return __base;
}
inline ios_base&
unitbuf(ios_base& __base)
{
__base.setf(ios_base::unitbuf);
return __base;
}
inline ios_base&
nounitbuf(ios_base& __base)
{
__base.unsetf(ios_base::unitbuf);
return __base;
}
inline ios_base&
internal(ios_base& __base)
{
__base.setf(ios_base::internal, ios_base::adjustfield);
return __base;
}
inline ios_base&
left(ios_base& __base)
{
__base.setf(ios_base::left, ios_base::adjustfield);
return __base;
}
inline ios_base&
right(ios_base& __base)
{
__base.setf(ios_base::right, ios_base::adjustfield);
return __base;
}
inline ios_base&
dec(ios_base& __base)
{
__base.setf(ios_base::dec, ios_base::basefield);
return __base;
}
inline ios_base&
hex(ios_base& __base)
{
__base.setf(ios_base::hex, ios_base::basefield);
return __base;
}
inline ios_base&
oct(ios_base& __base)
{
__base.setf(ios_base::oct, ios_base::basefield);
return __base;
}
inline ios_base&
fixed(ios_base& __base)
{
__base.setf(ios_base::fixed, ios_base::floatfield);
return __base;
}
inline ios_base&
scientific(ios_base& __base)
{
__base.setf(ios_base::scientific, ios_base::floatfield);
return __base;
}
}
# 45 "/opt/egcs/include/g++-v3/bits/std_ios.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/std_streambuf.h" 1 3
# 38 "/opt/egcs/include/g++-v3/bits/std_streambuf.h" 3
# 1 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/c++config.h" 1 3
# 40 "/opt/egcs/include/g++-v3/bits/std_streambuf.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/std_iosfwd.h" 1 3
# 41 "/opt/egcs/include/g++-v3/bits/std_streambuf.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/std_cstdio.h" 1 3
# 42 "/opt/egcs/include/g++-v3/bits/std_streambuf.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/localefwd.h" 1 3
# 43 "/opt/egcs/include/g++-v3/bits/std_streambuf.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/ios_base.h" 1 3
# 44 "/opt/egcs/include/g++-v3/bits/std_streambuf.h" 2 3
namespace std
{
template<typename _CharT, typename _Traits>
streamsize
__copy_streambufs(basic_ios<_CharT, _Traits>& _ios,
basic_streambuf<_CharT, _Traits>* __sbin,
basic_streambuf<_CharT, _Traits>* __sbout);
template<typename _CharT, typename _Traits>
class basic_streambuf
{
public:
typedef _CharT char_type;
typedef _Traits traits_type;
typedef typename traits_type::int_type int_type;
typedef typename traits_type::pos_type pos_type;
typedef typename traits_type::off_type off_type;
typedef ctype<char_type> __ctype_type;
typedef basic_streambuf<char_type, traits_type> __streambuf_type;
friend class basic_ios<char_type, traits_type>;
friend class basic_istream<char_type, traits_type>;
friend class basic_ostream<char_type, traits_type>;
friend class istreambuf_iterator<char_type, traits_type>;
friend class ostreambuf_iterator<char_type, traits_type>;
friend streamsize
__copy_streambufs<>(basic_ios<char_type, traits_type>& __ios,
__streambuf_type* __sbin,__streambuf_type* __sbout);
protected:
char_type* _M_buf;
int_type _M_buf_size;
int_type _M_buf_size_opt;
bool _M_buf_unified;
char_type* _M_in_beg;
char_type* _M_in_cur;
char_type* _M_in_end;
char_type* _M_out_beg;
char_type* _M_out_cur;
char_type* _M_out_end;
ios_base::openmode _M_mode;
locale _M_buf_locale;
bool _M_buf_locale_init;
int_type _M_pback_size;
char_type* _M_pback;
char_type* _M_pback_cur_save;
char_type* _M_pback_end_save;
bool _M_pback_init;
void
_M_pback_create()
{
if (!_M_pback_init)
{
int_type __dist = _M_in_end - _M_in_cur;
int_type __len = min(_M_pback_size, __dist);
traits_type::copy(_M_pback, _M_in_cur, __len);
_M_pback_cur_save = _M_in_cur;
_M_pback_end_save = _M_in_end;
this->setg(_M_pback, _M_pback, _M_pback + __len);
_M_pback_init = true;
}
}
void
_M_pback_destroy()
{
if (_M_pback_init)
{
int_type __off_cur = _M_in_cur - _M_pback;
int_type __off_end = 0;
int_type __pback_len = _M_in_end - _M_pback;
int_type __save_len = _M_pback_end_save - _M_buf;
if (__pback_len > __save_len)
__off_end = __pback_len - __save_len;
this->setg(_M_buf, _M_pback_cur_save + __off_cur,
_M_pback_end_save + __off_end);
_M_pback_cur_save = __null;
_M_pback_end_save = __null;
_M_pback_init = false;
}
}
void
_M_in_cur_move(off_type __n)
{
bool __testout = _M_out_cur;
_M_in_cur += __n;
if (__testout && _M_buf_unified)
_M_out_cur += __n;
}
# 193 "/opt/egcs/include/g++-v3/bits/std_streambuf.h" 3
void
_M_out_cur_move(off_type __n)
{
bool __testin = _M_in_cur;
_M_out_cur += __n;
if (__testin && _M_buf_unified)
_M_in_cur += __n;
if (_M_out_cur > _M_out_end)
{
_M_out_end = _M_out_cur;
if (__testin)
_M_in_end += __n;
}
}
off_type
_M_out_buf_size()
{
off_type __ret = 0;
if (_M_out_cur)
{
if (_M_out_beg == _M_buf)
__ret = _M_out_beg + _M_buf_size - _M_out_cur;
else
__ret = _M_out_end - _M_out_cur;
}
return __ret;
}
# 236 "/opt/egcs/include/g++-v3/bits/std_streambuf.h" 3
void
_M_set_indeterminate(void)
{
if (_M_mode & ios_base::in)
this->setg(_M_buf, _M_buf, _M_buf);
if (_M_mode & ios_base::out)
this->setp(_M_buf, _M_buf);
}
void
_M_set_determinate(off_type __off)
{
bool __testin = _M_mode & ios_base::in;
bool __testout = _M_mode & ios_base::out;
if (__testin)
this->setg(_M_buf, _M_buf, _M_buf + __off);
if (__testout)
this->setp(_M_buf, _M_buf + __off);
}
bool
_M_is_indeterminate(void)
{
bool __ret = false;
if (_M_buf)
{
if (_M_mode & ios_base::in)
__ret = _M_in_beg == _M_in_cur && _M_in_cur == _M_in_end;
if (_M_mode & ios_base::out)
__ret = _M_out_beg == _M_out_cur && _M_out_cur == _M_out_end;
}
return __ret;
}
public:
virtual
~basic_streambuf()
{
_M_buf_unified = false;
_M_buf_size = 0;
_M_buf_size_opt = 0;
_M_mode = ios_base::openmode(0);
_M_buf_locale_init = false;
}
locale
pubimbue(const locale &__loc)
{
locale __tmp(this->getloc());
this->imbue(__loc);
return __tmp;
}
locale
getloc() const
{
if (_M_buf_locale_init)
return _M_buf_locale;
else
return locale();
}
__streambuf_type*
pubsetbuf(char_type* __s, streamsize __n)
{ return this->setbuf(__s, __n); }
pos_type
pubseekoff(off_type __off, ios_base::seekdir __way,
ios_base::openmode __mode = ios_base::in | ios_base::out)
{ return this->seekoff(__off, __way, __mode); }
pos_type
pubseekpos(pos_type __sp,
ios_base::openmode __mode = ios_base::in | ios_base::out)
{ return this->seekpos(__sp, __mode); }
int
pubsync() { return this->sync(); }
streamsize
in_avail()
{
streamsize __ret;
if (_M_in_cur && _M_in_cur < _M_in_end)
{
if (_M_pback_init)
{
int_type __save_len = _M_pback_end_save - _M_pback_cur_save;
int_type __pback_len = _M_in_cur - _M_pback;
__ret = __save_len - __pback_len;
}
else
__ret = this->egptr() - this->gptr();
}
else
__ret = this->showmanyc();
return __ret;
}
int_type
snextc()
{
int_type __eof = traits_type::eof();
return (this->sbumpc() == __eof ? __eof : this->sgetc());
}
int_type
sbumpc();
int_type
sgetc()
{
int_type __ret;
if (_M_in_cur && _M_in_cur < _M_in_end)
__ret = traits_type::to_int_type(*(this->gptr()));
else
__ret = this->underflow();
return __ret;
}
streamsize
sgetn(char_type* __s, streamsize __n)
{ return this->xsgetn(__s, __n); }
int_type
sputbackc(char_type __c);
int_type
sungetc();
int_type
sputc(char_type __c);
streamsize
sputn(const char_type* __s, streamsize __n)
{ return this->xsputn(__s, __n); }
protected:
basic_streambuf()
: _M_buf(__null), _M_buf_size(0),
_M_buf_size_opt(static_cast<int_type>(8192)), _M_buf_unified(false),
_M_in_beg(0), _M_in_cur(0), _M_in_end(0), _M_out_beg(0), _M_out_cur(0),
_M_out_end(0), _M_mode(ios_base::openmode(0)), _M_buf_locale(locale()),
_M_buf_locale_init(false), _M_pback_size(1), _M_pback(__null),
_M_pback_cur_save(__null), _M_pback_end_save(__null), _M_pback_init(false)
{ }
char_type*
eback() const { return _M_in_beg; }
char_type*
gptr() const { return _M_in_cur; }
char_type*
egptr() const { return _M_in_end; }
void
gbump(int __n) { _M_in_cur += __n; }
void
setg(char_type* __gbeg, char_type* __gnext, char_type* __gend)
{
_M_in_beg = __gbeg;
_M_in_cur = __gnext;
_M_in_end = __gend;
if (!(_M_mode & ios_base::in) && __gbeg && __gnext && __gend)
_M_mode = _M_mode | ios_base::in;
}
char_type*
pbase() const { return _M_out_beg; }
char_type*
pptr() const { return _M_out_cur; }
char_type*
epptr() const { return _M_out_end; }
void
pbump(int __n) { _M_out_cur += __n; }
void
setp(char_type* __pbeg, char_type* __pend)
{
_M_out_beg = _M_out_cur = __pbeg;
_M_out_end = __pend;
if (!(_M_mode & ios_base::out) && __pbeg && __pend)
_M_mode = _M_mode | ios_base::out;
}
virtual void
imbue(const locale& __loc)
{
_M_buf_locale_init = true;
if (_M_buf_locale != __loc)
_M_buf_locale = __loc;
}
virtual basic_streambuf<char_type,_Traits>*
setbuf(char_type*, streamsize)
{ return this; }
virtual pos_type
seekoff(off_type, ios_base::seekdir,
ios_base::openmode = ios_base::in | ios_base::out)
{ return pos_type(off_type(-1)); }
virtual pos_type
seekpos(pos_type,
ios_base::openmode = ios_base::in | ios_base::out)
{ return pos_type(off_type(-1)); }
virtual int
sync() { return 0; }
virtual streamsize
showmanyc() { return 0; }
virtual streamsize
xsgetn(char_type* __s, streamsize __n);
virtual int_type
underflow()
{ return traits_type::eof(); }
virtual int_type
uflow()
{
int_type __ret = traits_type::eof();
bool __testeof = this->underflow() == __ret;
bool __testpending = _M_in_cur && _M_in_cur < _M_in_end;
if (!__testeof && __testpending)
{
__ret = traits_type::to_int_type(*_M_in_cur);
++_M_in_cur;
if (_M_buf_unified && _M_mode & ios_base::out)
++_M_out_cur;
}
return __ret;
}
virtual int_type
pbackfail(int_type = traits_type::eof())
{ return traits_type::eof(); }
virtual streamsize
xsputn(const char_type* __s, streamsize __n);
virtual int_type
overflow(int_type = traits_type::eof())
{ return traits_type::eof(); }
# 516 "/opt/egcs/include/g++-v3/bits/std_streambuf.h" 3
private:
basic_streambuf(const __streambuf_type&);
__streambuf_type&
operator=(const __streambuf_type&);
};
}
# 1 "/opt/egcs/include/g++-v3/bits/streambuf.tcc" 1 3
# 37 "/opt/egcs/include/g++-v3/bits/streambuf.tcc" 3
namespace std {
template<typename _CharT, typename _Traits>
basic_streambuf<_CharT, _Traits>::int_type
basic_streambuf<_CharT, _Traits>::
sbumpc()
{
int_type __ret;
if (_M_in_cur && _M_in_cur < _M_in_end)
{
char_type __c = *gptr();
_M_in_cur_move(1);
__ret = traits_type::to_int_type(__c);
}
else
__ret = this->uflow();
return __ret;
}
template<typename _CharT, typename _Traits>
basic_streambuf<_CharT, _Traits>::int_type
basic_streambuf<_CharT, _Traits>::
sputbackc(char_type __c)
{
int_type __ret;
bool __testpos = _M_in_cur && _M_in_beg < _M_in_cur;
bool __testne = _M_in_cur && !traits_type::eq(__c, this->gptr()[-1]);
if (!__testpos || __testne)
__ret = pbackfail(traits_type::to_int_type(__c));
else
{
_M_in_cur_move(-1);
__ret = traits_type::to_int_type(*this->gptr());
}
return __ret;
}
template<typename _CharT, typename _Traits>
basic_streambuf<_CharT, _Traits>::int_type
basic_streambuf<_CharT, _Traits>::
sungetc()
{
int_type __ret;
if (_M_in_cur && _M_in_beg < _M_in_cur)
{
_M_in_cur_move(-1);
__ret = traits_type::to_int_type(*_M_in_cur);
}
else
__ret = this->pbackfail();
return __ret;
}
template<typename _CharT, typename _Traits>
basic_streambuf<_CharT, _Traits>::int_type
basic_streambuf<_CharT, _Traits>::
sputc(char_type __c)
{
int_type __ret;
if (_M_out_buf_size())
{
*_M_out_cur = __c;
_M_out_cur_move(1);
__ret = traits_type::to_int_type(__c);
}
else
__ret = this->overflow(traits_type::to_int_type(__c));
return __ret;
}
template<typename _CharT, typename _Traits>
streamsize
basic_streambuf<_CharT, _Traits>::
xsgetn(char_type* __s, streamsize __n)
{
streamsize __ret = 0;
while (__ret < __n)
{
size_t __buf_len = _M_in_end - _M_in_cur;
if (__buf_len > 0)
{
size_t __remaining = __n - __ret;
size_t __len = min(__buf_len, __remaining);
traits_type::copy(__s, _M_in_cur, __len);
__ret += __len;
__s += __len;
_M_in_cur_move(__len);
}
if (__ret < __n)
{
int_type __c = this->uflow();
if (__c != traits_type::eof())
{
traits_type::assign(*__s++, traits_type::to_char_type(__c));
++__ret;
}
else
break;
}
}
return __ret;
}
template<typename _CharT, typename _Traits>
streamsize
basic_streambuf<_CharT, _Traits>::
xsputn(const char_type* __s, streamsize __n)
{
streamsize __ret = 0;
while (__ret < __n)
{
off_type __buf_len = _M_out_buf_size();
if (__buf_len > 0)
{
off_type __remaining = __n - __ret;
off_type __len = min(__buf_len, __remaining);
traits_type::copy(_M_out_cur, __s, __len);
__ret += __len;
__s += __len;
_M_out_cur_move(__len);
}
if (__ret < __n)
{
int_type __c = this->overflow(traits_type::to_int_type(*__s));
if (__c != traits_type::eof())
{
++__ret;
++__s;
}
else
break;
}
}
return __ret;
}
template<typename _CharT, typename _Traits>
streamsize
__copy_streambufs(basic_ios<_CharT, _Traits>& __ios,
basic_streambuf<_CharT, _Traits>* __sbin,
basic_streambuf<_CharT, _Traits>* __sbout)
{
typedef typename _Traits::int_type int_type;
streamsize __ret = 0;
streamsize __bufsize = __sbin->in_avail();
streamsize __xtrct;
bool __testput = __sbout->_M_mode & ios_base::out;
try {
while (__testput && __bufsize != -1)
{
__xtrct = __sbout->sputn(__sbin->gptr(), __bufsize);
__ret += __xtrct;
__sbin->_M_in_cur_move(__xtrct);
if (__xtrct == __bufsize)
{
if (__sbin->sgetc() == _Traits::eof())
break;
__bufsize = __sbin->in_avail();
}
else
break;
}
}
catch(exception& __fail) {
if ((__ios.exceptions() & ios_base::failbit) != 0)
throw;
}
return __ret;
}
}
# 530 "/opt/egcs/include/g++-v3/bits/std_streambuf.h" 2 3
# 46 "/opt/egcs/include/g++-v3/bits/std_ios.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/basic_ios.h" 1 3
# 34 "/opt/egcs/include/g++-v3/bits/basic_ios.h" 3
# 1 "/opt/egcs/include/g++-v3/bits/streambuf_iterator.h" 1 3
# 36 "/opt/egcs/include/g++-v3/bits/streambuf_iterator.h" 3
namespace std
{
template<typename _CharT, typename _Traits>
class ostreambuf_iterator
: public iterator<output_iterator_tag, void, void, void, void>
{
public:
typedef _CharT char_type;
typedef _Traits traits_type;
typedef basic_streambuf<_CharT, _Traits> streambuf_type;
typedef basic_ostream<_CharT, _Traits> ostream_type;
private:
streambuf_type* _M_sbuf;
bool _M_failed;
public:
inline
ostreambuf_iterator(ostream_type& __s) throw ()
: _M_sbuf(__s.rdbuf()), _M_failed(!_M_sbuf) { }
ostreambuf_iterator(streambuf_type* __s) throw ()
: _M_sbuf(__s), _M_failed(!_M_sbuf) { }
ostreambuf_iterator&
operator=(_CharT __c);
ostreambuf_iterator&
operator*() throw()
{ return *this; }
ostreambuf_iterator&
operator++(int) throw()
{ return *this; }
ostreambuf_iterator&
operator++() throw()
{ return *this; }
bool
failed() const throw()
{ return _M_failed; }
};
template<typename _CharT, typename _Traits>
inline ostreambuf_iterator<_CharT, _Traits>&
ostreambuf_iterator<_CharT, _Traits>::operator=(_CharT __c)
{
if (!_M_failed &&
_Traits::eq_int_type(_M_sbuf->sputc(__c),_Traits::eof()))
_M_failed = true;
return *this;
}
template<typename _CharT, typename _Traits>
class istreambuf_iterator
: public iterator<input_iterator_tag, _CharT, typename _Traits::off_type,
_CharT*, _CharT&>
{
public:
typedef _CharT char_type;
typedef _Traits traits_type;
typedef typename _Traits::int_type int_type;
typedef basic_streambuf<_CharT, _Traits> streambuf_type;
typedef basic_istream<_CharT, _Traits> istream_type;
private:
streambuf_type* _M_sbuf;
int_type _M_c;
public:
istreambuf_iterator() throw()
: _M_sbuf(__null), _M_c(-2) { }
istreambuf_iterator(istream_type& __s) throw()
: _M_sbuf(__s.rdbuf()), _M_c(-2) { }
istreambuf_iterator(streambuf_type* __s) throw()
: _M_sbuf(__s), _M_c(-2) { }
char_type
operator*() const
{
char_type __ret;
if (_M_sbuf && _M_c != static_cast<int_type>(-2))
__ret = _M_c;
else if (_M_sbuf)
__ret = traits_type::to_char_type(_M_sbuf->sgetc());
else
__ret = static_cast<char_type>(traits_type::eof());
return __ret;
}
istreambuf_iterator&
operator++()
{
if (_M_sbuf)
_M_sbuf->sbumpc();
_M_c = -2;
return *this;
}
istreambuf_iterator
operator++(int)
{
istreambuf_iterator __old = *this;
if (_M_sbuf)
__old._M_c = _M_sbuf->sbumpc();
_M_c = -2;
return __old;
}
bool
equal(const istreambuf_iterator& __b)
{
int_type __eof = traits_type::eof();
bool __thiseof = !_M_sbuf || _M_sbuf->sgetc() == __eof;
bool __beof = !__b._M_sbuf
|| __b._M_sbuf->sgetc() == __eof;
return (__thiseof && __beof || (!__thiseof && !__beof));
}
bool
equal(const istreambuf_iterator& __b) const
{
int_type __eof = traits_type::eof();
bool __thiseof = !_M_sbuf || _M_sbuf->sgetc() == __eof;
bool __beof = !__b._M_sbuf
|| __b._M_sbuf->sgetc() == __eof;
return (__thiseof && __beof || (!__thiseof && !__beof));
}
};
template<typename _CharT, typename _Traits>
inline bool
operator==(const istreambuf_iterator<_CharT, _Traits>& __a,
const istreambuf_iterator<_CharT, _Traits>& __b)
{ return __a.equal(__b); }
template<typename _CharT, typename _Traits>
inline bool
operator!=(const istreambuf_iterator<_CharT, _Traits>& __a,
const istreambuf_iterator<_CharT, _Traits>& __b)
{ return !__a.equal(__b); }
}
# 36 "/opt/egcs/include/g++-v3/bits/basic_ios.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/locale_facets.h" 1 3
# 40 "/opt/egcs/include/g++-v3/bits/locale_facets.h" 3
# 1 "/opt/egcs/include/g++-v3/bits/std_ctime.h" 1 3
# 42 "/opt/egcs/include/g++-v3/bits/locale_facets.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/std_ios.h" 1 3
# 43 "/opt/egcs/include/g++-v3/bits/locale_facets.h" 2 3
# 1 "/usr/include/langinfo.h" 1 3
# 24 "/usr/include/langinfo.h" 3
# 1 "/usr/include/nl_types.h" 1 3
# 22 "/usr/include/nl_types.h" 3
# 1 "/usr/include/features.h" 1 3
# 23 "/usr/include/nl_types.h" 2 3
# 31 "/usr/include/nl_types.h" 3
extern "C" {
typedef void *nl_catd;
typedef int nl_item;
extern nl_catd catopen (__const char *__cat_name, int __flag) throw ();
extern char *catgets (nl_catd __catalog, int __set, int __number,
__const char *__string) throw ();
extern int catclose (nl_catd __catalog) throw ();
}
# 25 "/usr/include/langinfo.h" 2 3
# 1 "/usr/include/bits/locale.h" 1 3
# 27 "/usr/include/bits/locale.h" 3
enum
{
__LC_CTYPE = 0,
__LC_NUMERIC = 1,
__LC_TIME = 2,
__LC_COLLATE = 3,
__LC_MONETARY = 4,
__LC_MESSAGES = 5,
__LC_ALL = 6,
__LC_PAPER = 7,
__LC_NAME = 8,
__LC_ADDRESS = 9,
__LC_TELEPHONE = 10,
__LC_MEASUREMENT = 11,
__LC_IDENTIFICATION = 12
};
# 27 "/usr/include/langinfo.h" 2 3
extern "C" {
# 43 "/usr/include/langinfo.h" 3
enum
{
ABDAY_1 = (((__LC_TIME) << 16) | (0)),
ABDAY_2,
ABDAY_3,
ABDAY_4,
ABDAY_5,
ABDAY_6,
ABDAY_7,
DAY_1,
DAY_2,
DAY_3,
DAY_4,
DAY_5,
DAY_6,
DAY_7,
ABMON_1,
ABMON_2,
ABMON_3,
ABMON_4,
ABMON_5,
ABMON_6,
ABMON_7,
ABMON_8,
ABMON_9,
ABMON_10,
ABMON_11,
ABMON_12,
MON_1,
MON_2,
MON_3,
MON_4,
MON_5,
MON_6,
MON_7,
MON_8,
MON_9,
MON_10,
MON_11,
MON_12,
AM_STR,
PM_STR,
D_T_FMT,
D_FMT,
T_FMT,
T_FMT_AMPM,
ERA,
__ERA_YEAR,
ERA_D_FMT,
ALT_DIGITS,
ERA_D_T_FMT,
ERA_T_FMT,
_NL_TIME_ERA_NUM_ENTRIES,
_NL_TIME_ERA_ENTRIES,
_NL_WABDAY_1,
_NL_WABDAY_2,
_NL_WABDAY_3,
_NL_WABDAY_4,
_NL_WABDAY_5,
_NL_WABDAY_6,
_NL_WABDAY_7,
_NL_WDAY_1,
_NL_WDAY_2,
_NL_WDAY_3,
_NL_WDAY_4,
_NL_WDAY_5,
_NL_WDAY_6,
_NL_WDAY_7,
_NL_WABMON_1,
_NL_WABMON_2,
_NL_WABMON_3,
_NL_WABMON_4,
_NL_WABMON_5,
_NL_WABMON_6,
_NL_WABMON_7,
_NL_WABMON_8,
_NL_WABMON_9,
_NL_WABMON_10,
_NL_WABMON_11,
_NL_WABMON_12,
_NL_WMON_1,
_NL_WMON_2,
_NL_WMON_3,
_NL_WMON_4,
_NL_WMON_5,
_NL_WMON_6,
_NL_WMON_7,
_NL_WMON_8,
_NL_WMON_9,
_NL_WMON_10,
_NL_WMON_11,
_NL_WMON_12,
_NL_WAM_STR,
_NL_WPM_STR,
_NL_WD_T_FMT,
_NL_WD_FMT,
_NL_WT_FMT,
_NL_WT_FMT_AMPM,
_NL_WERA_YEAR,
_NL_WERA_D_FMT,
_NL_WALT_DIGITS,
_NL_WERA_D_T_FMT,
_NL_WERA_T_FMT,
_NL_TIME_WEEK_NDAYS,
_NL_TIME_WEEK_1STDAY,
_NL_TIME_WEEK_1STWEEK,
_NL_TIME_FIRST_WEEKDAY,
_NL_TIME_FIRST_WORKDAY,
_NL_TIME_CAL_DIRECTION,
_NL_TIME_TIMEZONE,
_DATE_FMT,
_NL_W_DATE_FMT,
_NL_NUM_LC_TIME,
_NL_COLLATE_NRULES = (((__LC_COLLATE) << 16) | (0)),
_NL_COLLATE_RULESETS,
_NL_COLLATE_TABLEMB,
_NL_COLLATE_WEIGHTMB,
_NL_COLLATE_EXTRAMB,
_NL_COLLATE_INDIRECTMB,
_NL_COLLATE_GAP1,
_NL_COLLATE_GAP2,
_NL_COLLATE_GAP3,
_NL_COLLATE_TABLEWC,
_NL_COLLATE_WEIGHTWC,
_NL_COLLATE_EXTRAWC,
_NL_COLLATE_INDIRECTWC,
_NL_COLLATE_SYMB_HASH_SIZEMB,
_NL_COLLATE_SYMB_TABLEMB,
_NL_COLLATE_SYMB_EXTRAMB,
_NL_COLLATE_COLLSEQMB,
_NL_COLLATE_COLLSEQWC,
_NL_NUM_LC_COLLATE,
_NL_CTYPE_CLASS = (((__LC_CTYPE) << 16) | (0)),
_NL_CTYPE_TOUPPER,
_NL_CTYPE_GAP1,
_NL_CTYPE_TOLOWER,
_NL_CTYPE_GAP2,
_NL_CTYPE_CLASS32,
_NL_CTYPE_GAP3,
_NL_CTYPE_GAP4,
_NL_CTYPE_GAP5,
_NL_CTYPE_GAP6,
_NL_CTYPE_CLASS_NAMES,
_NL_CTYPE_MAP_NAMES,
_NL_CTYPE_WIDTH,
_NL_CTYPE_MB_CUR_MAX,
_NL_CTYPE_CODESET_NAME,
CODESET = _NL_CTYPE_CODESET_NAME,
_NL_CTYPE_TOUPPER32,
_NL_CTYPE_TOLOWER32,
_NL_CTYPE_CLASS_OFFSET,
_NL_CTYPE_MAP_OFFSET,
_NL_CTYPE_INDIGITS_MB_LEN,
_NL_CTYPE_INDIGITS0_MB,
_NL_CTYPE_INDIGITS1_MB,
_NL_CTYPE_INDIGITS2_MB,
_NL_CTYPE_INDIGITS3_MB,
_NL_CTYPE_INDIGITS4_MB,
_NL_CTYPE_INDIGITS5_MB,
_NL_CTYPE_INDIGITS6_MB,
_NL_CTYPE_INDIGITS7_MB,
_NL_CTYPE_INDIGITS8_MB,
_NL_CTYPE_INDIGITS9_MB,
_NL_CTYPE_INDIGITS_WC_LEN,
_NL_CTYPE_INDIGITS0_WC,
_NL_CTYPE_INDIGITS1_WC,
_NL_CTYPE_INDIGITS2_WC,
_NL_CTYPE_INDIGITS3_WC,
_NL_CTYPE_INDIGITS4_WC,
_NL_CTYPE_INDIGITS5_WC,
_NL_CTYPE_INDIGITS6_WC,
_NL_CTYPE_INDIGITS7_WC,
_NL_CTYPE_INDIGITS8_WC,
_NL_CTYPE_INDIGITS9_WC,
_NL_CTYPE_OUTDIGIT0_MB,
_NL_CTYPE_OUTDIGIT1_MB,
_NL_CTYPE_OUTDIGIT2_MB,
_NL_CTYPE_OUTDIGIT3_MB,
_NL_CTYPE_OUTDIGIT4_MB,
_NL_CTYPE_OUTDIGIT5_MB,
_NL_CTYPE_OUTDIGIT6_MB,
_NL_CTYPE_OUTDIGIT7_MB,
_NL_CTYPE_OUTDIGIT8_MB,
_NL_CTYPE_OUTDIGIT9_MB,
_NL_CTYPE_OUTDIGIT0_WC,
_NL_CTYPE_OUTDIGIT1_WC,
_NL_CTYPE_OUTDIGIT2_WC,
_NL_CTYPE_OUTDIGIT3_WC,
_NL_CTYPE_OUTDIGIT4_WC,
_NL_CTYPE_OUTDIGIT5_WC,
_NL_CTYPE_OUTDIGIT6_WC,
_NL_CTYPE_OUTDIGIT7_WC,
_NL_CTYPE_OUTDIGIT8_WC,
_NL_CTYPE_OUTDIGIT9_WC,
_NL_CTYPE_TRANSLIT_TAB_SIZE,
_NL_CTYPE_TRANSLIT_FROM_IDX,
_NL_CTYPE_TRANSLIT_FROM_TBL,
_NL_CTYPE_TRANSLIT_TO_IDX,
_NL_CTYPE_TRANSLIT_TO_TBL,
_NL_CTYPE_TRANSLIT_DEFAULT_MISSING_LEN,
_NL_CTYPE_TRANSLIT_DEFAULT_MISSING,
_NL_CTYPE_TRANSLIT_IGNORE_LEN,
_NL_CTYPE_TRANSLIT_IGNORE,
_NL_CTYPE_EXTRA_MAP_1,
_NL_CTYPE_EXTRA_MAP_2,
_NL_CTYPE_EXTRA_MAP_3,
_NL_CTYPE_EXTRA_MAP_4,
_NL_CTYPE_EXTRA_MAP_5,
_NL_CTYPE_EXTRA_MAP_6,
_NL_CTYPE_EXTRA_MAP_7,
_NL_CTYPE_EXTRA_MAP_8,
_NL_CTYPE_EXTRA_MAP_9,
_NL_CTYPE_EXTRA_MAP_10,
_NL_CTYPE_EXTRA_MAP_11,
_NL_CTYPE_EXTRA_MAP_12,
_NL_CTYPE_EXTRA_MAP_13,
_NL_CTYPE_EXTRA_MAP_14,
_NL_NUM_LC_CTYPE,
__INT_CURR_SYMBOL = (((__LC_MONETARY) << 16) | (0)),
__CURRENCY_SYMBOL,
__MON_DECIMAL_POINT,
__MON_THOUSANDS_SEP,
__MON_GROUPING,
__POSITIVE_SIGN,
__NEGATIVE_SIGN,
__INT_FRAC_DIGITS,
__FRAC_DIGITS,
__P_CS_PRECEDES,
__P_SEP_BY_SPACE,
__N_CS_PRECEDES,
__N_SEP_BY_SPACE,
__P_SIGN_POSN,
__N_SIGN_POSN,
_NL_MONETARY_CRNCYSTR,
__INT_P_CS_PRECEDES,
__INT_P_SEP_BY_SPACE,
__INT_N_CS_PRECEDES,
__INT_N_SEP_BY_SPACE,
__INT_P_SIGN_POSN,
__INT_N_SIGN_POSN,
_NL_MONETARY_DUO_INT_CURR_SYMBOL,
_NL_MONETARY_DUO_CURRENCY_SYMBOL,
_NL_MONETARY_DUO_INT_FRAC_DIGITS,
_NL_MONETARY_DUO_FRAC_DIGITS,
_NL_MONETARY_DUO_P_CS_PRECEDES,
_NL_MONETARY_DUO_P_SEP_BY_SPACE,
_NL_MONETARY_DUO_N_CS_PRECEDES,
_NL_MONETARY_DUO_N_SEP_BY_SPACE,
_NL_MONETARY_DUO_INT_P_CS_PRECEDES,
_NL_MONETARY_DUO_INT_P_SEP_BY_SPACE,
_NL_MONETARY_DUO_INT_N_CS_PRECEDES,
_NL_MONETARY_DUO_INT_N_SEP_BY_SPACE,
_NL_MONETARY_DUO_P_SIGN_POSN,
_NL_MONETARY_DUO_N_SIGN_POSN,
_NL_MONETARY_DUO_INT_P_SIGN_POSN,
_NL_MONETARY_DUO_INT_N_SIGN_POSN,
_NL_MONETARY_UNO_VALID_FROM,
_NL_MONETARY_UNO_VALID_TO,
_NL_MONETARY_DUO_VALID_FROM,
_NL_MONETARY_DUO_VALID_TO,
_NL_MONETARY_CONVERSION_RATE,
_NL_MONETARY_DECIMAL_POINT_WC,
_NL_MONETARY_THOUSANDS_SEP_WC,
_NL_NUM_LC_MONETARY,
__DECIMAL_POINT = (((__LC_NUMERIC) << 16) | (0)),
RADIXCHAR = __DECIMAL_POINT,
__THOUSANDS_SEP,
THOUSEP = __THOUSANDS_SEP,
__GROUPING,
_NL_NUMERIC_DECIMAL_POINT_WC,
_NL_NUMERIC_THOUSANDS_SEP_WC,
_NL_NUM_LC_NUMERIC,
__YESEXPR = (((__LC_MESSAGES) << 16) | (0)),
__NOEXPR,
__YESSTR,
__NOSTR,
_NL_NUM_LC_MESSAGES,
_NL_PAPER_HEIGHT = (((__LC_PAPER) << 16) | (0)),
_NL_PAPER_WIDTH,
_NL_NUM_LC_PAPER,
_NL_NAME_NAME_FMT = (((__LC_NAME) << 16) | (0)),
_NL_NAME_NAME_GEN,
_NL_NAME_NAME_MR,
_NL_NAME_NAME_MRS,
_NL_NAME_NAME_MISS,
_NL_NAME_NAME_MS,
_NL_NUM_LC_NAME,
_NL_ADDRESS_POSTAL_FMT = (((__LC_ADDRESS) << 16) | (0)),
_NL_ADDRESS_COUNTRY_NAME,
_NL_ADDRESS_COUNTRY_POST,
_NL_ADDRESS_COUNTRY_AB2,
_NL_ADDRESS_COUNTRY_AB3,
_NL_ADDRESS_COUNTRY_CAR,
_NL_ADDRESS_COUNTRY_NUM,
_NL_ADDRESS_COUNTRY_ISBN,
_NL_ADDRESS_LANG_NAME,
_NL_ADDRESS_LANG_AB,
_NL_ADDRESS_LANG_TERM,
_NL_ADDRESS_LANG_LIB,
_NL_NUM_LC_ADDRESS,
_NL_TELEPHONE_TEL_INT_FMT = (((__LC_TELEPHONE) << 16) | (0)),
_NL_TELEPHONE_TEL_DOM_FMT,
_NL_TELEPHONE_INT_SELECT,
_NL_TELEPHONE_INT_PREFIX,
_NL_NUM_LC_TELEPHONE,
_NL_MEASUREMENT_MEASUREMENT = (((__LC_MEASUREMENT) << 16) | (0)),
_NL_NUM_LC_MEASUREMENT,
_NL_IDENTIFICATION_TITLE = (((__LC_IDENTIFICATION) << 16) | (0)),
_NL_IDENTIFICATION_SOURCE,
_NL_IDENTIFICATION_ADDRESS,
_NL_IDENTIFICATION_CONTACT,
_NL_IDENTIFICATION_EMAIL,
_NL_IDENTIFICATION_TEL,
_NL_IDENTIFICATION_FAX,
_NL_IDENTIFICATION_LANGUAGE,
_NL_IDENTIFICATION_TERRITORY,
_NL_IDENTIFICATION_AUDIENCE,
_NL_IDENTIFICATION_APPLICATION,
_NL_IDENTIFICATION_ABBREVIATION,
_NL_IDENTIFICATION_REVISION,
_NL_IDENTIFICATION_DATE,
_NL_IDENTIFICATION_CATEGORY,
_NL_NUM_LC_IDENTIFICATION,
_NL_NUM
};
# 563 "/usr/include/langinfo.h" 3
extern char *nl_langinfo (nl_item __item) throw ();
# 1 "/usr/include/xlocale.h" 1 3
# 572 "/usr/include/langinfo.h" 2 3
extern char *__nl_langinfo_l (nl_item __item, __locale_t l);
}
# 45 "/opt/egcs/include/g++-v3/bits/locale_facets.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/std_cwctype.h" 1 3
# 38 "/opt/egcs/include/g++-v3/bits/std_cwctype.h" 3
# 1 "/usr/include/wctype.h" 1 3
# 26 "/usr/include/wctype.h" 3
# 1 "/usr/include/features.h" 1 3
# 27 "/usr/include/wctype.h" 2 3
# 1 "/usr/include/bits/types.h" 1 3
# 28 "/usr/include/wctype.h" 2 3
# 1 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stddef.h" 1 3
# 36 "/usr/include/wctype.h" 2 3
# 61 "/usr/include/wctype.h" 3
typedef unsigned long int wctype_t;
# 1 "/usr/include/endian.h" 1 3
# 69 "/usr/include/wctype.h" 2 3
# 79 "/usr/include/wctype.h" 3
enum
{
__ISwupper = 0,
__ISwlower = 1,
__ISwalpha = 2,
__ISwdigit = 3,
__ISwxdigit = 4,
__ISwspace = 5,
__ISwprint = 6,
__ISwgraph = 7,
__ISwblank = 8,
__ISwcntrl = 9,
__ISwpunct = 10,
__ISwalnum = 11,
_ISwupper = ((__ISwupper) < 8 ? (int) ((1UL << (__ISwupper)) << 24) : ((__ISwupper) < 16 ? (int) ((1UL << (__ISwupper)) << 8) : ((__ISwupper) < 24 ? (int) ((1UL << (__ISwupper)) >> 8) : (int) ((1UL << (__ISwupper)) >> 24)))),
_ISwlower = ((__ISwlower) < 8 ? (int) ((1UL << (__ISwlower)) << 24) : ((__ISwlower) < 16 ? (int) ((1UL << (__ISwlower)) << 8) : ((__ISwlower) < 24 ? (int) ((1UL << (__ISwlower)) >> 8) : (int) ((1UL << (__ISwlower)) >> 24)))),
_ISwalpha = ((__ISwalpha) < 8 ? (int) ((1UL << (__ISwalpha)) << 24) : ((__ISwalpha) < 16 ? (int) ((1UL << (__ISwalpha)) << 8) : ((__ISwalpha) < 24 ? (int) ((1UL << (__ISwalpha)) >> 8) : (int) ((1UL << (__ISwalpha)) >> 24)))),
_ISwdigit = ((__ISwdigit) < 8 ? (int) ((1UL << (__ISwdigit)) << 24) : ((__ISwdigit) < 16 ? (int) ((1UL << (__ISwdigit)) << 8) : ((__ISwdigit) < 24 ? (int) ((1UL << (__ISwdigit)) >> 8) : (int) ((1UL << (__ISwdigit)) >> 24)))),
_ISwxdigit = ((__ISwxdigit) < 8 ? (int) ((1UL << (__ISwxdigit)) << 24) : ((__ISwxdigit) < 16 ? (int) ((1UL << (__ISwxdigit)) << 8) : ((__ISwxdigit) < 24 ? (int) ((1UL << (__ISwxdigit)) >> 8) : (int) ((1UL << (__ISwxdigit)) >> 24)))),
_ISwspace = ((__ISwspace) < 8 ? (int) ((1UL << (__ISwspace)) << 24) : ((__ISwspace) < 16 ? (int) ((1UL << (__ISwspace)) << 8) : ((__ISwspace) < 24 ? (int) ((1UL << (__ISwspace)) >> 8) : (int) ((1UL << (__ISwspace)) >> 24)))),
_ISwprint = ((__ISwprint) < 8 ? (int) ((1UL << (__ISwprint)) << 24) : ((__ISwprint) < 16 ? (int) ((1UL << (__ISwprint)) << 8) : ((__ISwprint) < 24 ? (int) ((1UL << (__ISwprint)) >> 8) : (int) ((1UL << (__ISwprint)) >> 24)))),
_ISwgraph = ((__ISwgraph) < 8 ? (int) ((1UL << (__ISwgraph)) << 24) : ((__ISwgraph) < 16 ? (int) ((1UL << (__ISwgraph)) << 8) : ((__ISwgraph) < 24 ? (int) ((1UL << (__ISwgraph)) >> 8) : (int) ((1UL << (__ISwgraph)) >> 24)))),
_ISwblank = ((__ISwblank) < 8 ? (int) ((1UL << (__ISwblank)) << 24) : ((__ISwblank) < 16 ? (int) ((1UL << (__ISwblank)) << 8) : ((__ISwblank) < 24 ? (int) ((1UL << (__ISwblank)) >> 8) : (int) ((1UL << (__ISwblank)) >> 24)))),
_ISwcntrl = ((__ISwcntrl) < 8 ? (int) ((1UL << (__ISwcntrl)) << 24) : ((__ISwcntrl) < 16 ? (int) ((1UL << (__ISwcntrl)) << 8) : ((__ISwcntrl) < 24 ? (int) ((1UL << (__ISwcntrl)) >> 8) : (int) ((1UL << (__ISwcntrl)) >> 24)))),
_ISwpunct = ((__ISwpunct) < 8 ? (int) ((1UL << (__ISwpunct)) << 24) : ((__ISwpunct) < 16 ? (int) ((1UL << (__ISwpunct)) << 8) : ((__ISwpunct) < 24 ? (int) ((1UL << (__ISwpunct)) >> 8) : (int) ((1UL << (__ISwpunct)) >> 24)))),
_ISwalnum = ((__ISwalnum) < 8 ? (int) ((1UL << (__ISwalnum)) << 24) : ((__ISwalnum) < 16 ? (int) ((1UL << (__ISwalnum)) << 8) : ((__ISwalnum) < 24 ? (int) ((1UL << (__ISwalnum)) >> 8) : (int) ((1UL << (__ISwalnum)) >> 24))))
};
extern "C" {
extern int iswalnum (wint_t __wc) throw ();
extern int iswalpha (wint_t __wc) throw ();
extern int iswcntrl (wint_t __wc) throw ();
extern int iswdigit (wint_t __wc) throw ();
extern int iswgraph (wint_t __wc) throw ();
extern int iswlower (wint_t __wc) throw ();
extern int iswprint (wint_t __wc) throw ();
extern int iswpunct (wint_t __wc) throw ();
extern int iswspace (wint_t __wc) throw ();
extern int iswupper (wint_t __wc) throw ();
extern int iswxdigit (wint_t __wc) throw ();
extern int iswblank (wint_t __wc) throw ();
# 178 "/usr/include/wctype.h" 3
extern wctype_t wctype (__const char *__property) throw ();
extern int iswctype (wint_t __wc, wctype_t __desc) throw ();
# 249 "/usr/include/wctype.h" 3
typedef __const __int32_t *wctrans_t;
extern wint_t towlower (wint_t __wc) throw ();
extern wint_t towupper (wint_t __wc) throw ();
# 275 "/usr/include/wctype.h" 3
}
# 288 "/usr/include/wctype.h" 3
extern "C" {
extern wctrans_t wctrans (__const char *__property) throw ();
extern wint_t towctrans (wint_t __wc, wctrans_t __desc) throw ();
# 1 "/usr/include/xlocale.h" 1 3
# 300 "/usr/include/wctype.h" 2 3
extern int __iswalnum_l (wint_t __wc, __locale_t __locale) throw ();
extern int __iswalpha_l (wint_t __wc, __locale_t __locale) throw ();
extern int __iswcntrl_l (wint_t __wc, __locale_t __locale) throw ();
extern int __iswdigit_l (wint_t __wc, __locale_t __locale) throw ();
extern int __iswgraph_l (wint_t __wc, __locale_t __locale) throw ();
extern int __iswlower_l (wint_t __wc, __locale_t __locale) throw ();
extern int __iswprint_l (wint_t __wc, __locale_t __locale) throw ();
extern int __iswpunct_l (wint_t __wc, __locale_t __locale) throw ();
extern int __iswspace_l (wint_t __wc, __locale_t __locale) throw ();
extern int __iswupper_l (wint_t __wc, __locale_t __locale) throw ();
extern int __iswxdigit_l (wint_t __wc, __locale_t __locale) throw ();
extern int __iswblank_l (wint_t __wc, __locale_t __locale) throw ();
extern wctype_t __wctype_l (__const char *__property, __locale_t __locale)
throw ();
extern int __iswctype_l (wint_t __wc, wctype_t __desc, __locale_t __locale)
throw ();
extern wint_t __towlower_l (wint_t __wc, __locale_t __locale) throw ();
extern wint_t __towupper_l (wint_t __wc, __locale_t __locale) throw ();
extern wctrans_t __wctrans_l (__const char *__property, __locale_t __locale)
throw ();
extern wint_t __towctrans_l (wint_t __wc, wctrans_t __desc,
__locale_t __locale) throw ();
}
# 39 "/opt/egcs/include/g++-v3/bits/std_cwctype.h" 2 3
# 61 "/opt/egcs/include/g++-v3/bits/std_cwctype.h" 3
namespace std
{
using ::wint_t;
using ::wctype_t;
using ::wctrans_t;
using ::iswalnum;
using ::iswalpha;
using ::iswblank;
using ::iswcntrl;
using ::iswdigit;
using ::iswgraph;
using ::iswlower;
using ::iswprint;
using ::iswprint;
using ::iswpunct;
using ::iswspace;
using ::iswupper;
using ::iswxdigit;
using ::iswctype;
using ::towlower;
using ::towupper;
using ::towctrans;
using ::wctrans;
using ::wctype;
}
# 46 "/opt/egcs/include/g++-v3/bits/locale_facets.h" 2 3
# 1 "/usr/include/iconv.h" 1 3
# 22 "/usr/include/iconv.h" 3
# 1 "/usr/include/features.h" 1 3
# 23 "/usr/include/iconv.h" 2 3
# 1 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stddef.h" 1 3
# 25 "/usr/include/iconv.h" 2 3
extern "C" {
typedef void *iconv_t;
extern iconv_t iconv_open (__const char *__tocode, __const char *__fromcode)
throw ();
extern size_t iconv (iconv_t __cd, char **__restrict __inbuf,
size_t *__restrict __inbytesleft,
char **__restrict __outbuf,
size_t *__restrict __outbytesleft);
extern int iconv_close (iconv_t __cd) throw ();
}
# 47 "/opt/egcs/include/g++-v3/bits/locale_facets.h" 2 3
namespace std
{
# 1 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/ctype_base.h" 1 3
# 50 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/ctype_base.h" 3
struct ctype_base
{
typedef const int* __to_type;
typedef unsigned short mask;
static const mask upper = _ISupper;
static const mask lower = _ISlower;
static const mask alpha = _ISalpha;
static const mask digit = _ISdigit;
static const mask xdigit = _ISxdigit;
static const mask space = _ISspace;
static const mask print = _ISprint;
static const mask graph = _ISgraph;
static const mask cntrl = _IScntrl;
static const mask punct = _ISpunct;
static const mask alnum = _ISalnum;
};
# 54 "/opt/egcs/include/g++-v3/bits/locale_facets.h" 2 3
template<typename _CharT>
class __ctype_abstract_base : public locale::facet, public ctype_base
{
public:
typedef _CharT char_type;
bool
is(mask __m, char_type __c) const
{ return this->do_is(__m, __c); }
const char_type*
is(const char_type *__lo, const char_type *__hi, mask *__vec) const
{ return this->do_is(__lo, __hi, __vec); }
const char_type*
scan_is(mask __m, const char_type* __lo, const char_type* __hi) const
{ return this->do_scan_is(__m, __lo, __hi); }
const char_type*
scan_not(mask __m, const char_type* __lo, const char_type* __hi) const
{ return this->do_scan_not(__m, __lo, __hi); }
char_type
toupper(char_type __c) const
{ return this->do_toupper(__c); }
const char_type*
toupper(char_type *__lo, const char_type* __hi) const
{ return this->do_toupper(__lo, __hi); }
char_type
tolower(char_type __c) const
{ return this->do_tolower(__c); }
const char_type*
tolower(char_type* __lo, const char_type* __hi) const
{ return this->do_tolower(__lo, __hi); }
char_type
widen(char __c) const
{ return this->do_widen(__c); }
const char*
widen(const char* __lo, const char* __hi, char_type* __to) const
{ return this->do_widen(__lo, __hi, __to); }
char
narrow(char_type __c, char __dfault) const
{ return this->do_narrow(__c, __dfault); }
const char_type*
narrow(const char_type* __lo, const char_type* __hi,
char __dfault, char *__to) const
{ return this->do_narrow(__lo, __hi, __dfault, __to); }
protected:
explicit
__ctype_abstract_base(size_t __refs = 0): locale::facet(__refs) { }
virtual
~__ctype_abstract_base() { }
virtual bool
do_is(mask __m, char_type __c) const = 0;
virtual const char_type*
do_is(const char_type* __lo, const char_type* __hi,
mask* __vec) const = 0;
virtual const char_type*
do_scan_is(mask __m, const char_type* __lo,
const char_type* __hi) const = 0;
virtual const char_type*
do_scan_not(mask __m, const char_type* __lo,
const char_type* __hi) const = 0;
virtual char_type
do_toupper(char_type) const = 0;
virtual const char_type*
do_toupper(char_type* __lo, const char_type* __hi) const = 0;
virtual char_type
do_tolower(char_type) const = 0;
virtual const char_type*
do_tolower(char_type* __lo, const char_type* __hi) const = 0;
virtual char_type
do_widen(char) const = 0;
virtual const char*
do_widen(const char* __lo, const char* __hi,
char_type* __dest) const = 0;
virtual char
do_narrow(char_type, char __dfault) const = 0;
virtual const char_type*
do_narrow(const char_type* __lo, const char_type* __hi,
char __dfault, char* __dest) const = 0;
};
template<typename _CharT>
class ctype : public __ctype_abstract_base<_CharT>
{
public:
typedef _CharT char_type;
typedef typename ctype::mask mask;
explicit
ctype(size_t __refs = 0) : __ctype_abstract_base<_CharT>(__refs) { }
static locale::id id;
protected:
virtual
~ctype() { }
virtual bool
do_is(mask __m, char_type __c) const
{ return false; }
virtual const char_type*
do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const
{ return __hi; }
virtual const char_type*
do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const
{ return __hi; }
virtual const char_type*
do_scan_not(mask __m, const char_type* __lo,
const char_type* __hi) const
{ return __hi; }
virtual char_type
do_toupper(char_type __c) const
{ return __c; }
virtual const char_type*
do_toupper(char_type* __lo, const char_type* __hi) const
{ return __hi; }
virtual char_type
do_tolower(char_type __c) const
{ return __c; }
virtual const char_type*
do_tolower(char_type* __lo, const char_type* __hi) const
{ return __hi; }
virtual char_type
do_widen(char __c) const
{ return char_type(); }
virtual const char*
do_widen(const char* __lo, const char* __hi, char_type* __dest) const
{ return __hi; }
virtual char
do_narrow(char_type, char __dfault) const
{ return __dfault; }
virtual const char_type*
do_narrow(const char_type* __lo, const char_type* __hi,
char __dfault, char* __dest) const
{ return __hi; }
};
template<typename _CharT>
locale::id ctype<_CharT>::id;
template<>
class ctype<char> : public __ctype_abstract_base<char>
{
public:
typedef char char_type;
private:
bool _M_del;
__to_type const& _M_toupper;
__to_type const& _M_tolower;
const mask* const& _M_ctable;
const mask* _M_table;
public:
static locale::id id;
static const size_t table_size = 1 + static_cast<unsigned char>(-1);
explicit
ctype(const mask* __table = 0, bool __del = false, size_t __refs = 0);
inline bool
is(mask __m, char __c) const;
inline const char*
is(const char* __lo, const char* __hi, mask* __vec) const;
inline const char*
scan_is(mask __m, const char* __lo, const char* __hi) const;
inline const char*
scan_not(mask __m, const char* __lo, const char* __hi) const;
protected:
virtual
~ctype();
const mask*
table() const throw()
{ return _M_table; }
const mask*
classic_table() throw()
{ return _M_ctable; }
virtual bool
do_is(mask __m, char_type __c) const;
virtual const char_type*
do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const;
virtual const char_type*
do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const;
virtual const char_type*
do_scan_not(mask __m, const char_type* __lo,
const char_type* __hi) const;
virtual char_type
do_toupper(char_type) const;
virtual const char_type*
do_toupper(char_type* __lo, const char_type* __hi) const;
virtual char_type
do_tolower(char_type) const;
virtual const char_type*
do_tolower(char_type* __lo, const char_type* __hi) const;
virtual char_type
do_widen(char) const;
virtual const char*
do_widen(const char* __lo, const char* __hi, char_type* __dest) const;
virtual char
do_narrow(char_type, char __dfault) const;
virtual const char_type*
do_narrow(const char_type* __lo, const char_type* __hi,
char __dfault, char* __dest) const;
};
template<>
const ctype<char>&
use_facet<ctype<char> >(const locale& __loc);
template<>
class ctype<wchar_t> : public __ctype_abstract_base<wchar_t>
{
public:
typedef wchar_t char_type;
typedef wctype_t __wmask_type;
static locale::id id;
explicit
ctype(size_t __refs = 0);
protected:
__wmask_type
_M_convert_to_wmask(const mask __m) const;
virtual
~ctype();
virtual bool
do_is(mask __m, char_type __c) const;
virtual const char_type*
do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const;
virtual const char_type*
do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const;
virtual const char_type*
do_scan_not(mask __m, const char_type* __lo,
const char_type* __hi) const;
virtual char_type
do_toupper(char_type) const;
virtual const char_type*
do_toupper(char_type* __lo, const char_type* __hi) const;
virtual char_type
do_tolower(char_type) const;
virtual const char_type*
do_tolower(char_type* __lo, const char_type* __hi) const;
virtual char_type
do_widen(char) const;
virtual const char*
do_widen(const char* __lo, const char* __hi, char_type* __dest) const;
virtual char
do_narrow(char_type, char __dfault) const;
virtual const char_type*
do_narrow(const char_type* __lo, const char_type* __hi,
char __dfault, char* __dest) const;
};
template<>
const ctype<wchar_t>&
use_facet<ctype<wchar_t> >(const locale& __loc);
# 1 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/ctype_inline.h" 1 3
# 37 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/ctype_inline.h" 3
bool
ctype<char>::
is(mask __m, char __c) const
{ return _M_table[__c] & __m; }
const char*
ctype<char>::
is(const char* __low, const char* __high, mask* __vec) const
{
while (__low < __high)
*__vec++ = _M_table[*__low++];
return __high;
}
const char*
ctype<char>::
scan_is(mask __m, const char* __low, const char* __high) const
{
while (__low < __high && !(_M_table[*__low] & __m))
++__low;
return __low;
}
const char*
ctype<char>::
scan_not(mask __m, const char* __low, const char* __high) const
{
while (__low < __high
&& (_M_table[*__low] & __m) != 0)
++__low;
return __low;
}
# 393 "/opt/egcs/include/g++-v3/bits/locale_facets.h" 2 3
template<typename _CharT>
class ctype_byname : public ctype<_CharT>
{
public:
typedef _CharT char_type;
explicit
ctype_byname(const char*, size_t __refs = 0);
protected:
virtual
~ctype_byname() { }
};
template<>
ctype_byname<char>::ctype_byname(const char*, size_t refs);
# 1 "/opt/egcs/include/g++-v3/bits/codecvt.h" 1 3
# 42 "/opt/egcs/include/g++-v3/bits/codecvt.h" 3
# 57 "/opt/egcs/include/g++-v3/bits/codecvt.h" 3
class __enc_traits
{
public:
typedef iconv_t __desc_type;
protected:
static const int _S_max_size = 32;
char _M_int_enc[_S_max_size];
char _M_ext_enc[_S_max_size];
__desc_type _M_in_desc;
__desc_type _M_out_desc;
int _M_ext_bom;
int _M_int_bom;
public:
__enc_traits()
: _M_in_desc(0), _M_out_desc(0), _M_ext_bom(0), _M_int_bom(0)
{
strcpy(_M_int_enc, "UCS4");
strcpy(_M_ext_enc, nl_langinfo(CODESET));
}
__enc_traits(const char* __int, const char* __ext, int __ibom = 0,
int __ebom = 0)
: _M_in_desc(0), _M_out_desc(0), _M_ext_bom(0), _M_int_bom(0)
{
strncpy(_M_int_enc, __int, _S_max_size);
strncpy(_M_ext_enc, __ext, _S_max_size);
}
__enc_traits(const __enc_traits& __obj)
{
strncpy(_M_int_enc, __obj._M_int_enc, _S_max_size);
strncpy(_M_ext_enc, __obj._M_ext_enc, _S_max_size);
_M_ext_bom = __obj._M_ext_bom;
_M_int_bom = __obj._M_int_bom;
}
~__enc_traits()
{
iconv_close(_M_in_desc);
iconv_close(_M_out_desc);
}
void
_M_init()
{
_M_in_desc = iconv_open(_M_int_enc, _M_ext_enc);
_M_out_desc = iconv_open(_M_ext_enc, _M_int_enc);
if (_M_out_desc == iconv_t(-1) || _M_in_desc == iconv_t(-1))
{
}
}
bool
_M_good()
{
return _M_out_desc && _M_in_desc
&& _M_out_desc != iconv_t(-1) && _M_in_desc != iconv_t(-1);
}
const __desc_type*
_M_get_in_descriptor()
{ return &_M_in_desc; }
const __desc_type*
_M_get_out_descriptor()
{ return &_M_out_desc; }
const char*
_M_get_internal_enc()
{ return _M_int_enc; }
const char*
_M_get_external_enc()
{ return _M_ext_enc; }
int
_M_get_external_bom()
{ return _M_ext_bom; }
int
_M_get_internal_bom()
{ return _M_int_bom; }
};
class codecvt_base
{
public:
enum result
{
ok,
partial,
error,
noconv
};
};
template<typename _InternT, typename _ExternT, typename _StateT>
class __codecvt_abstract_base
: public locale::facet, public codecvt_base
{
public:
typedef codecvt_base::result result;
typedef _InternT intern_type;
typedef _ExternT extern_type;
typedef _StateT state_type;
result
out(state_type& __state, const intern_type* __from,
const intern_type* __from_end, const intern_type*& __from_next,
extern_type* __to, extern_type* __to_end,
extern_type*& __to_next) const
{
return this->do_out(__state, __from, __from_end, __from_next,
__to, __to_end, __to_next);
}
result
unshift(state_type& __state, extern_type* __to, extern_type* __to_end,
extern_type*& __to_next) const
{ return this->do_unshift(__state, __to,__to_end,__to_next); }
result
in(state_type& __state, const extern_type* __from,
const extern_type* __from_end, const extern_type*& __from_next,
intern_type* __to, intern_type* __to_end,
intern_type*& __to_next) const
{
return this->do_in(__state, __from, __from_end, __from_next,
__to, __to_end, __to_next);
}
int
encoding() const throw()
{ return this->do_encoding(); }
bool
always_noconv() const throw()
{ return this->do_always_noconv(); }
int
length(const state_type& __state, const extern_type* __from,
const extern_type* __end, size_t __max) const
{ return this->do_length(__state, __from, __end, __max); }
int
max_length() const throw()
{ return this->do_max_length(); }
protected:
explicit
__codecvt_abstract_base(size_t __refs = 0) : locale::facet(__refs) { }
virtual
~__codecvt_abstract_base() { }
virtual result
do_out(state_type& __state, const intern_type* __from,
const intern_type* __from_end, const intern_type*& __from_next,
extern_type* __to, extern_type* __to_end,
extern_type*& __to_next) const = 0;
virtual result
do_unshift(state_type& __state, extern_type* __to,
extern_type* __to_end, extern_type*& __to_next) const = 0;
virtual result
do_in(state_type& __state, const extern_type* __from,
const extern_type* __from_end, const extern_type*& __from_next,
intern_type* __to, intern_type* __to_end,
intern_type*& __to_next) const = 0;
virtual int
do_encoding() const throw() = 0;
virtual bool
do_always_noconv() const throw() = 0;
virtual int
do_length(const state_type&, const extern_type* __from,
const extern_type* __end, size_t __max) const = 0;
virtual int
do_max_length() const throw() = 0;
};
template<typename _InternT, typename _ExternT, typename _StateT>
class codecvt
: public __codecvt_abstract_base<_InternT, _ExternT, _StateT>
{
public:
typedef codecvt_base::result result;
typedef _InternT intern_type;
typedef _ExternT extern_type;
typedef _StateT state_type;
static locale::id id;
explicit
codecvt(size_t __refs = 0)
: __codecvt_abstract_base<_InternT,_ExternT,_StateT> (__refs) { }
protected:
virtual
~codecvt() { }
};
template<typename _InternT, typename _ExternT, typename _StateT>
locale::id codecvt<_InternT, _ExternT, _StateT>::id;
template<typename _InternT, typename _ExternT>
class codecvt<_InternT, _ExternT, __enc_traits>
: public __codecvt_abstract_base<_InternT, _ExternT, __enc_traits>
{
public:
typedef codecvt_base::result result;
typedef _InternT intern_type;
typedef _ExternT extern_type;
typedef __enc_traits state_type;
typedef __enc_traits::__desc_type __desc_type;
typedef __enc_traits __enc_type;
static locale::id id;
explicit
codecvt(size_t __refs = 0)
: __codecvt_abstract_base<intern_type, extern_type, state_type>(__refs)
{ }
explicit
codecvt(__enc_type* __enc, size_t __refs = 0)
: __codecvt_abstract_base<intern_type, extern_type, state_type>(__refs)
{ }
protected:
virtual
~codecvt() { }
virtual result
do_out(state_type& __state, const intern_type* __from,
const intern_type* __from_end, const intern_type*& __from_next,
extern_type* __to, extern_type* __to_end,
extern_type*& __to_next) const;
virtual result
do_unshift(state_type& __state, extern_type* __to,
extern_type* __to_end, extern_type*& __to_next) const;
virtual result
do_in(state_type& __state, const extern_type* __from,
const extern_type* __from_end, const extern_type*& __from_next,
intern_type* __to, intern_type* __to_end,
intern_type*& __to_next) const;
virtual int
do_encoding() const throw();
virtual bool
do_always_noconv() const throw();
virtual int
do_length(const state_type&, const extern_type* __from,
const extern_type* __end, size_t __max) const;
virtual int
do_max_length() const throw();
};
template<typename _InternT, typename _ExternT>
locale::id
codecvt<_InternT, _ExternT, __enc_traits>::id;
template<typename _T>
inline size_t
__iconv_adaptor(size_t(*iconv_func)(iconv_t, _T, size_t*, char**, size_t*),
iconv_t cd, char** inbuf, size_t* inbytesleft,
char** outbuf, size_t* outbytesleft)
{
return iconv_func(cd, (_T)inbuf, inbytesleft, outbuf, outbytesleft);
}
template<typename _InternT, typename _ExternT>
codecvt_base::result
codecvt<_InternT, _ExternT, __enc_traits>::
do_out(state_type& __state, const intern_type* __from,
const intern_type* __from_end, const intern_type*& __from_next,
extern_type* __to, extern_type* __to_end,
extern_type*& __to_next) const
{
result __ret = error;
if (__state._M_good())
{
typedef state_type::__desc_type __desc_type;
const __desc_type* __desc = __state._M_get_out_descriptor();
const size_t __fmultiple = sizeof(intern_type) / sizeof(char);
size_t __flen = __fmultiple * (__from_end - __from);
const size_t __tmultiple = sizeof(extern_type) / sizeof(char);
size_t __tlen = __tmultiple * (__to_end - __to);
char* __cto = reinterpret_cast<char*>(__to);
char* __cfrom;
size_t __conv;
int __int_bom = __state._M_get_internal_bom();
if (__int_bom)
{
size_t __size = __from_end - __from;
intern_type* __cfixed = static_cast<intern_type*>(__builtin_alloca(sizeof(intern_type) * (__size + 1)));
__cfixed[0] = static_cast<intern_type>(__int_bom);
char_traits<intern_type>::copy(__cfixed + 1, __from, __size);
__cfrom = reinterpret_cast<char*>(__cfixed);
__conv = __iconv_adaptor(iconv, *__desc, &__cfrom,
&__flen, &__cto, &__tlen);
}
else
{
intern_type* __cfixed = const_cast<intern_type*>(__from);
__cfrom = reinterpret_cast<char*>(__cfixed);
__conv = __iconv_adaptor(iconv, *__desc, &__cfrom,
&__flen, &__cto, &__tlen);
}
if (__conv != size_t(-1))
{
__from_next = reinterpret_cast<const intern_type*>(__cfrom);
__to_next = reinterpret_cast<extern_type*>(__cto);
__ret = ok;
}
else
{
if (__flen < static_cast<size_t>(__from_end - __from))
{
__from_next = reinterpret_cast<const intern_type*>(__cfrom);
__to_next = reinterpret_cast<extern_type*>(__cto);
__ret = partial;
}
else
__ret = error;
}
}
return __ret;
}
template<typename _InternT, typename _ExternT>
codecvt_base::result
codecvt<_InternT, _ExternT, __enc_traits>::
do_unshift(state_type& __state, extern_type* __to,
extern_type* __to_end, extern_type*& __to_next) const
{
result __ret = error;
if (__state._M_good())
{
typedef state_type::__desc_type __desc_type;
const __desc_type* __desc = __state._M_get_in_descriptor();
const size_t __tmultiple = sizeof(intern_type) / sizeof(char);
size_t __tlen = __tmultiple * (__to_end - __to);
char* __cto = reinterpret_cast<char*>(__to);
size_t __conv = __iconv_adaptor(iconv,*__desc, __null, __null,
&__cto, &__tlen);
if (__conv != size_t(-1))
{
__to_next = reinterpret_cast<extern_type*>(__cto);
if (__tlen == __tmultiple * (__to_end - __to))
__ret = noconv;
else if (__tlen == 0)
__ret = ok;
else
__ret = partial;
}
else
__ret = error;
}
return __ret;
}
template<typename _InternT, typename _ExternT>
codecvt_base::result
codecvt<_InternT, _ExternT, __enc_traits>::
do_in(state_type& __state, const extern_type* __from,
const extern_type* __from_end, const extern_type*& __from_next,
intern_type* __to, intern_type* __to_end,
intern_type*& __to_next) const
{
result __ret = error;
if (__state._M_good())
{
typedef state_type::__desc_type __desc_type;
const __desc_type* __desc = __state._M_get_in_descriptor();
const size_t __fmultiple = sizeof(extern_type) / sizeof(char);
size_t __flen = __fmultiple * (__from_end - __from);
const size_t __tmultiple = sizeof(intern_type) / sizeof(char);
size_t __tlen = __tmultiple * (__to_end - __to);
char* __cto = reinterpret_cast<char*>(__to);
char* __cfrom;
size_t __conv;
int __ext_bom = __state._M_get_external_bom();
if (__ext_bom)
{
size_t __size = __from_end - __from;
extern_type* __cfixed = static_cast<extern_type*>(__builtin_alloca(sizeof(extern_type) * (__size + 1)));
__cfixed[0] = static_cast<extern_type>(__ext_bom);
char_traits<extern_type>::copy(__cfixed + 1, __from, __size);
__cfrom = reinterpret_cast<char*>(__cfixed);
__conv = __iconv_adaptor(iconv, *__desc, &__cfrom,
&__flen, &__cto, &__tlen);
}
else
{
extern_type* __cfixed = const_cast<extern_type*>(__from);
__cfrom = reinterpret_cast<char*>(__cfixed);
__conv = __iconv_adaptor(iconv, *__desc, &__cfrom,
&__flen, &__cto, &__tlen);
}
if (__conv != size_t(-1))
{
__from_next = reinterpret_cast<const extern_type*>(__cfrom);
__to_next = reinterpret_cast<intern_type*>(__cto);
__ret = ok;
}
else
{
if (__flen < static_cast<size_t>(__from_end - __from))
{
__from_next = reinterpret_cast<const extern_type*>(__cfrom);
__to_next = reinterpret_cast<intern_type*>(__cto);
__ret = partial;
}
else
__ret = error;
}
}
return __ret;
}
template<typename _InternT, typename _ExternT>
int
codecvt<_InternT, _ExternT, __enc_traits>::
do_encoding() const throw()
{ return 0; }
template<typename _InternT, typename _ExternT>
bool
codecvt<_InternT, _ExternT, __enc_traits>::
do_always_noconv() const throw()
{ return false; }
template<typename _InternT, typename _ExternT>
int
codecvt<_InternT, _ExternT, __enc_traits>::
do_length(const state_type&, const extern_type* __from,
const extern_type* __end, size_t __max) const
{ return min(__max, static_cast<size_t>(__end - __from)); }
template<typename _InternT, typename _ExternT>
int
codecvt<_InternT, _ExternT, __enc_traits>::
do_max_length() const throw()
{ return 1; }
template<>
class codecvt<char, char, mbstate_t>
: public __codecvt_abstract_base<char, char, mbstate_t>
{
public:
typedef char intern_type;
typedef char extern_type;
typedef mbstate_t state_type;
static locale::id id;
explicit
codecvt(size_t __refs = 0);
protected:
virtual
~codecvt();
virtual result
do_out(state_type& __state, const intern_type* __from,
const intern_type* __from_end, const intern_type*& __from_next,
extern_type* __to, extern_type* __to_end,
extern_type*& __to_next) const;
virtual result
do_unshift(state_type& __state, extern_type* __to,
extern_type* __to_end, extern_type*& __to_next) const;
virtual result
do_in(state_type& __state, const extern_type* __from,
const extern_type* __from_end, const extern_type*& __from_next,
intern_type* __to, intern_type* __to_end,
intern_type*& __to_next) const;
virtual int
do_encoding() const throw();
virtual bool
do_always_noconv() const throw();
virtual int
do_length(const state_type&, const extern_type* __from,
const extern_type* __end, size_t __max) const;
virtual int
do_max_length() const throw();
};
template<>
class codecvt<wchar_t, char, mbstate_t>
: public __codecvt_abstract_base<wchar_t, char, mbstate_t>
{
public:
typedef wchar_t intern_type;
typedef char extern_type;
typedef mbstate_t state_type;
static locale::id id;
explicit
codecvt(size_t __refs = 0);
protected:
virtual
~codecvt();
virtual result
do_out(state_type& __state, const intern_type* __from,
const intern_type* __from_end, const intern_type*& __from_next,
extern_type* __to, extern_type* __to_end,
extern_type*& __to_next) const;
virtual result
do_unshift(state_type& __state,
extern_type* __to, extern_type* __to_end,
extern_type*& __to_next) const;
virtual result
do_in(state_type& __state,
const extern_type* __from, const extern_type* __from_end,
const extern_type*& __from_next,
intern_type* __to, intern_type* __to_end,
intern_type*& __to_next) const;
virtual
int do_encoding() const throw();
virtual
bool do_always_noconv() const throw();
virtual
int do_length(const state_type&, const extern_type* __from,
const extern_type* __end, size_t __max) const;
virtual int
do_max_length() const throw();
};
template<typename _InternT, typename _ExternT, typename _StateT>
class codecvt_byname : public codecvt<_InternT, _ExternT, _StateT>
{
public:
explicit
codecvt_byname(const char*, size_t __refs = 0)
: codecvt<_InternT, _ExternT, _StateT>(__refs) { }
protected:
virtual
~codecvt_byname() { }
};
# 416 "/opt/egcs/include/g++-v3/bits/locale_facets.h" 2 3
template<typename _CharT, typename _InIter>
class _Numeric_get;
template<typename _CharT>
class _Format_cache
{
public:
typedef _CharT char_type;
typedef char_traits<_CharT> traits_type;
typedef basic_string<_CharT> string_type;
typedef typename string_type::size_type size_type;
friend class locale;
template<typename _Char, typename _InIter>
friend class _Numeric_get;
friend class num_get<_CharT>;
friend class num_put<_CharT>;
friend class time_get<_CharT>;
friend class money_get<_CharT>;
friend class time_put<_CharT>;
friend class money_put<_CharT>;
static int _S_pword_ix;
bool _M_valid;
static const char _S_literals[];
enum
{
_S_minus,
_S_plus,
_S_x,
_S_X,
_S_digits,
_S_digits_end = _S_digits + 16,
_S_udigits = _S_digits_end,
_S_udigits_end = _S_udigits + 16,
_S_ee = _S_digits + 14,
_S_Ee = _S_udigits + 14
};
char_type _M_decimal_point;
char_type _M_thousands_sep;
string_type _M_truename;
string_type _M_falsename;
bool _M_use_grouping;
string _M_grouping;
_Format_cache();
~_Format_cache() throw() { }
static _Format_cache<_CharT>*
_S_get(ios_base& __ios);
void
_M_populate(ios_base&);
static void
_S_callback(ios_base::event __event, ios_base& __ios, int __ix) throw();
};
template<typename _CharT>
int _Format_cache<_CharT>::_S_pword_ix;
template<typename _CharT>
const char _Format_cache<_CharT>::
_S_literals[] = "-+xX0123456789abcdef0123456789ABCDEF";
template<> _Format_cache<char>::_Format_cache();
template<> _Format_cache<wchar_t>::_Format_cache();
template<typename _CharT, typename _InIter>
class _Numeric_get
{
public:
typedef _CharT char_type;
typedef _InIter iter_type;
template<typename _Char, typename _InIterT>
friend class num_get;
template<typename _Char, typename _InIterT>
friend class time_get;
template<typename _Char, typename _InIterT>
friend class money_get;
template<typename _Char, typename _InIterT>
friend class num_put;
template<typename _Char, typename _InIterT>
friend class time_put;
template<typename _Char, typename _InIterT>
friend class money_put;
private:
explicit
_Numeric_get() { }
virtual
~_Numeric_get() { }
iter_type
_M_get_digits(iter_type __in, iter_type __end) const;
};
template<typename _CharT, typename _InIter>
class num_get : public locale::facet
{
public:
typedef _CharT char_type;
typedef _InIter iter_type;
typedef char_traits<_CharT> __traits_type;
static locale::id id;
explicit
num_get(size_t __refs = 0) : locale::facet(__refs) { }
iter_type
get(iter_type __in, iter_type __end, ios_base& __io,
ios_base::iostate& __err, bool& __v) const
{ return do_get(__in, __end, __io, __err, __v); }
iter_type
get(iter_type __in, iter_type __end, ios_base& __io,
ios_base::iostate& __err, short& __v) const
{ return do_get(__in, __end, __io, __err, __v); }
iter_type
get(iter_type __in, iter_type __end, ios_base& __io,
ios_base::iostate& __err, int& __v) const
{ return do_get(__in, __end, __io, __err, __v); }
iter_type
get(iter_type __in, iter_type __end, ios_base& __io,
ios_base::iostate& __err, long& __v) const
{ return do_get(__in, __end, __io, __err, __v); }
iter_type
get(iter_type __in, iter_type __end, ios_base& __io,
ios_base::iostate& __err, long long& __v) const
{ return do_get(__in, __end, __io, __err, __v); }
iter_type
get(iter_type __in, iter_type __end, ios_base& __io,
ios_base::iostate& __err, unsigned short& __v) const
{ return do_get(__in, __end, __io, __err, __v); }
iter_type
get(iter_type __in, iter_type __end, ios_base& __io,
ios_base::iostate& __err, unsigned int& __v) const
{ return do_get(__in, __end, __io, __err, __v); }
iter_type
get(iter_type __in, iter_type __end, ios_base& __io,
ios_base::iostate& __err, unsigned long& __v) const
{ return do_get(__in, __end, __io, __err, __v); }
iter_type
get(iter_type __in, iter_type __end, ios_base& __io,
ios_base::iostate& __err, unsigned long long& __v) const
{ return do_get(__in, __end, __io, __err, __v); }
iter_type
get(iter_type __in, iter_type __end, ios_base& __io,
ios_base::iostate& __err, float& __v) const
{ return do_get(__in, __end, __io, __err, __v); }
iter_type
get(iter_type __in, iter_type __end, ios_base& __io,
ios_base::iostate& __err, double& __v) const
{ return do_get(__in, __end, __io, __err, __v); }
iter_type
get(iter_type __in, iter_type __end, ios_base& __io,
ios_base::iostate& __err, long double& __v) const
{ return do_get(__in, __end, __io, __err, __v); }
iter_type
get(iter_type __in, iter_type __end, ios_base& __io,
ios_base::iostate& __err, void*& __v) const
{ return do_get(__in, __end, __io, __err, __v); }
protected:
virtual ~num_get() { }
void
_M_extract(iter_type __beg, iter_type __end, ios_base& __io,
ios_base::iostate& __err, char* __xtrc,
int& __base, bool __fp = true) const;
virtual iter_type
do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, bool&) const;
virtual iter_type
do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, short&) const;
virtual iter_type
do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, int&) const;
virtual iter_type
do_get (iter_type, iter_type, ios_base&, ios_base::iostate&, long&) const;
virtual iter_type
do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
long long&) const;
virtual iter_type
do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
unsigned short&) const;
virtual iter_type
do_get(iter_type, iter_type, ios_base&,
ios_base::iostate& __err, unsigned int&) const;
virtual iter_type
do_get(iter_type, iter_type, ios_base&,
ios_base::iostate& __err, unsigned long&) const;
virtual iter_type
do_get(iter_type, iter_type, ios_base&,
ios_base::iostate& __err, unsigned long long&) const;
virtual iter_type
do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
float&) const;
virtual iter_type
do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
double&) const;
virtual iter_type
do_get(iter_type, iter_type, ios_base&,
ios_base::iostate& __err, long double&) const;
virtual iter_type
do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
void*&) const;
};
template<typename _CharT, typename _InIter>
locale::id num_get<_CharT, _InIter>::id;
template<>
void
num_get<char, istreambuf_iterator<char> >::
_M_extract(istreambuf_iterator<char> __beg,
istreambuf_iterator<char> __end, ios_base& __io,
ios_base::iostate& __err, char* __xtrc,
int& __base, bool __fp) const;
template<typename _CharT, typename _OutIter>
class _Numeric_put
{
public:
typedef _CharT char_type;
typedef _OutIter iter_type;
protected:
explicit
_Numeric_put() { }
virtual
~_Numeric_put() { }
};
template<typename _CharT, typename _OutIter>
class num_put : public locale::facet
{
public:
typedef _CharT char_type;
typedef _OutIter iter_type;
static locale::id id;
explicit
num_put(size_t __refs = 0) : locale::facet(__refs) { }
iter_type
put(iter_type __s, ios_base& __f, char_type __fill, bool __v) const
{ return do_put(__s, __f, __fill, __v); }
iter_type
put(iter_type __s, ios_base& __f, char_type __fill, long __v) const
{ return do_put(__s, __f, __fill, __v); }
iter_type
put(iter_type __s, ios_base& __f, char_type __fill,
unsigned long __v) const
{ return do_put(__s, __f, __fill, __v); }
iter_type
put(iter_type __s, ios_base& __f, char_type __fill, long long __v) const
{ return do_put(__s, __f, __fill, __v); }
iter_type
put(iter_type __s, ios_base& __f, char_type __fill,
unsigned long long __v) const
{ return do_put(__s, __f, __fill, __v); }
iter_type
put(iter_type __s, ios_base& __f, char_type __fill, double __v) const
{ return do_put(__s, __f, __fill, __v); }
iter_type
put(iter_type __s, ios_base& __f, char_type __fill,
long double __v) const
{ return do_put(__s, __f, __fill, __v); }
iter_type
put(iter_type __s, ios_base& __f, char_type __fill,
const void* __v) const
{ return do_put(__s, __f, __fill, __v); }
protected:
virtual
~num_put() { };
virtual iter_type
do_put(iter_type, ios_base&, char_type __fill, bool __v) const;
virtual iter_type
do_put(iter_type, ios_base&, char_type __fill, long __v) const;
virtual iter_type
do_put(iter_type, ios_base&, char_type __fill, long long __v) const;
virtual iter_type
do_put(iter_type, ios_base&, char_type __fill, unsigned long) const;
virtual iter_type
do_put(iter_type, ios_base&, char_type __fill, unsigned long long) const;
virtual iter_type
do_put(iter_type, ios_base&, char_type __fill, double __v) const;
virtual iter_type
do_put(iter_type, ios_base&, char_type __fill, long double __v) const;
virtual iter_type
do_put(iter_type, ios_base&, char_type __fill, const void* __v) const;
};
template <typename _CharT, typename _OutIter>
locale::id num_put<_CharT, _OutIter>::id;
template<typename _CharT>
class numpunct : public locale::facet
{
public:
typedef _CharT char_type;
typedef basic_string<_CharT> string_type;
static locale::id id;
private:
char_type _M_decimal_point;
char_type _M_thousands_sep;
string _M_grouping;
string_type _M_truename;
string_type _M_falsename;
public:
explicit
numpunct(size_t __refs = 0) : locale::facet(__refs)
{ _M_initialize_numpunct(); }
explicit
numpunct(__c_locale __cloc, size_t __refs = 0) : locale::facet(__refs)
{ _M_initialize_numpunct(__cloc); }
char_type
decimal_point() const
{ return do_decimal_point(); }
char_type
thousands_sep() const
{ return do_thousands_sep(); }
string
grouping() const
{ return do_grouping(); }
string_type
truename() const
{ return do_truename(); }
string_type
falsename() const
{ return do_falsename(); }
protected:
virtual
~numpunct() { }
virtual char_type
do_decimal_point() const
{ return _M_decimal_point; }
virtual char_type
do_thousands_sep() const
{ return _M_thousands_sep; }
virtual string
do_grouping() const
{ return _M_grouping; }
virtual string_type
do_truename() const
{ return _M_truename; }
virtual string_type
do_falsename() const
{ return _M_falsename; }
void
_M_initialize_numpunct(__c_locale __cloc = __null);
};
template<typename _CharT>
locale::id numpunct<_CharT>::id;
template<typename _CharT>
void
numpunct<_CharT>::_M_initialize_numpunct(__c_locale )
{
}
template<>
void
numpunct<char>::_M_initialize_numpunct(__c_locale __cloc);
template<>
void
numpunct<wchar_t>::_M_initialize_numpunct(__c_locale __cloc);
template<typename _CharT>
class numpunct_byname : public numpunct<_CharT>
{
__c_locale _M_c_locale_numpunct;
public:
typedef _CharT char_type;
typedef basic_string<_CharT> string_type;
explicit
numpunct_byname(const char* __s, size_t __refs = 0)
: numpunct<_CharT>(__refs)
{
_S_create_c_locale(_M_c_locale_numpunct, __s);
_M_initialize_numpunct(_M_c_locale_numpunct);
}
protected:
virtual
~numpunct_byname()
{ _S_destroy_c_locale(_M_c_locale_numpunct); }
};
template<typename _CharT>
class collate : public locale::facet
{
public:
typedef _CharT char_type;
typedef basic_string<_CharT> string_type;
static locale::id id;
explicit
collate(size_t __refs = 0) : locale::facet(__refs) { }
int
compare(const _CharT* __lo1, const _CharT* __hi1,
const _CharT* __lo2, const _CharT* __hi2) const
{ return this->do_compare(__lo1, __hi1, __lo2, __hi2); }
string_type
transform(const _CharT* __lo, const _CharT* __hi) const
{ return this->do_transform(__lo, __hi); }
long
hash(const _CharT* __lo, const _CharT* __hi) const
{ return this->do_hash(__lo, __hi); }
protected:
~collate() { }
virtual int
do_compare(const _CharT* __lo1, const _CharT* __hi1,
const _CharT* __lo2, const _CharT* __hi2) const;
virtual string_type
do_transform(const _CharT* __lo, const _CharT* __hi) const;
virtual long
do_hash(const _CharT* __lo, const _CharT* __hi) const;
};
template<typename _CharT>
locale::id collate<_CharT>::id;
template<>
int
collate<char>::do_compare(const char* __lo1, const char* __hi1,
const char* __lo2, const char* __hi2) const;
template<>
string
collate<char>::do_transform(const char* __lo, const char* __hi) const;
template<>
long
collate<char>::do_hash(const char* __lo, const char* __hi) const;
template<>
int
collate<wchar_t>::do_compare(const wchar_t* __lo1, const wchar_t* __hi1,
const wchar_t* __lo2,
const wchar_t* __hi2) const;
template<>
wstring
collate<wchar_t>::do_transform(const wchar_t* __lo,
const wchar_t* __hi) const;
template<>
long
collate<wchar_t>::do_hash(const wchar_t* __lo, const wchar_t* __hi) const;
template<typename _CharT>
class collate_byname : public collate<_CharT>
{
public:
typedef _CharT char_type;
typedef basic_string<_CharT> string_type;
explicit
collate_byname(const char*, size_t __refs = 0);
protected:
virtual
~collate_byname() { }
};
template<>
collate_byname<char>::collate_byname(const char*, size_t __refs);
template<>
collate_byname<wchar_t>::collate_byname(const char*, size_t __refs);
class time_base
{
public:
enum dateorder { no_order, dmy, mdy, ymd, ydm };
};
template<typename _CharT, typename _InIter>
class time_get : public locale::facet, public time_base
{
public:
typedef _CharT char_type;
typedef _InIter iter_type;
static locale::id id;
explicit
time_get(size_t __refs = 0)
: locale::facet (__refs), _M_daynames(0), _M_monthnames(0) { }
dateorder
date_order() const
{ return do_date_order(); }
iter_type
get_time(iter_type __s, iter_type __end, ios_base& __f,
ios_base::iostate& __err, tm* __t) const
{ return do_get_time(__s, __end, __f, __err, __t); }
iter_type
get_date(iter_type __s, iter_type __end, ios_base& __f,
ios_base::iostate& __err, tm* __t) const
{ return do_get_date(__s, __end, __f, __err, __t); }
iter_type
get_weekday(iter_type __s, iter_type __end, ios_base& __f,
ios_base::iostate& __err, tm* __t) const
{ return do_get_weekday(__s,__end,__f,__err,__t); }
iter_type
get_monthname(iter_type __s, iter_type __end, ios_base& __f,
ios_base::iostate& __err, tm* __t) const
{ return do_get_monthname(__s,__end,__f,__err,__t); }
iter_type
get_year(iter_type __s, iter_type __end, ios_base& __f,
ios_base::iostate& __err, tm* __t) const
{ return do_get_year(__s,__end,__f,__err,__t); }
protected:
virtual
~time_get()
{
delete [] _M_monthnames;
delete [] _M_daynames;
}
virtual dateorder
do_date_order() const
{ return time_base::ymd; }
virtual iter_type
do_get_time(iter_type __s, iter_type , ios_base&,
ios_base::iostate& , tm* ) const
{ return __s; }
virtual iter_type
do_get_date(iter_type __s, iter_type , ios_base&,
ios_base::iostate& , tm* ) const
{ return __s; }
virtual iter_type
do_get_weekday(iter_type __s, iter_type __end, ios_base&,
ios_base::iostate& __err, tm* __t) const;
virtual iter_type
do_get_monthname(iter_type __s, iter_type __end, ios_base&,
ios_base::iostate& __err, tm* __t) const;
virtual iter_type
do_get_year(iter_type __s, iter_type , ios_base&,
ios_base::iostate& , tm* ) const
{ return __s; }
mutable basic_string<_CharT>* _M_daynames;
mutable basic_string<_CharT>* _M_monthnames;
};
template<typename _CharT, typename _InIter>
locale::id time_get<_CharT, _InIter>::id;
template<typename _CharT, typename _InIter>
class time_get_byname : public time_get<_CharT, _InIter>
{
public:
typedef _CharT char_type;
typedef _InIter iter_type;
explicit
time_get_byname(const char*, size_t __refs = 0)
: time_get<_CharT, _InIter>(__refs) { }
protected:
virtual
~time_get_byname() { }
};
template<typename _CharT, typename _OutIter>
class time_put : public locale::facet, public time_base
{
public:
typedef _CharT char_type;
typedef _OutIter iter_type;
static locale::id id;
explicit
time_put(size_t __refs = 0) : locale::facet (__refs) { }
iter_type
put(iter_type __s, ios_base& , char_type ,
const tm* , const _CharT* ,
const _CharT* ) const
{ return __s; }
iter_type
put(iter_type __s, ios_base& __f, char_type __fill,
const tm* __tmb, char __format, char __modifier = 0) const
{ return do_put(__s, __f, __fill, __tmb, __format, __modifier); }
protected:
virtual
~time_put() { }
virtual iter_type
do_put(iter_type __s, ios_base&, char_type, const tm* ,
char , char ) const
{ return __s; }
};
template<typename _CharT, typename _OutIter>
locale::id time_put<_CharT, _OutIter>::id;
template<typename _CharT, typename _OutIter>
class time_put_byname : public time_put<_CharT, _OutIter>
{
public:
typedef _CharT char_type;
typedef _OutIter iter_type;
explicit
time_put_byname(const char*, size_t __refs = 0)
: time_put<_CharT, _OutIter> (__refs) { }
protected:
virtual
~time_put_byname() { }
};
template<typename _CharT, typename _InIter>
class money_get : public locale::facet
{
public:
typedef _CharT char_type;
typedef _InIter iter_type;
typedef basic_string<_CharT> string_type;
static locale::id id;
explicit
money_get(size_t __refs = 0) : locale::facet(__refs) { }
iter_type
get(iter_type __s, iter_type __end, bool __intl,
ios_base& __f, ios_base::iostate& __err, long double& __units) const
{ return do_get(__s, __end, __intl, __f, __err, __units); }
iter_type
get(iter_type __s, iter_type __end, bool __intl, ios_base& __f,
ios_base::iostate& __err, string_type& __digits) const
{ return do_get(__s, __end, __intl, __f, __err, __digits); }
protected:
virtual
~money_get() { }
virtual iter_type
do_get(iter_type __s, iter_type , bool ,
ios_base& , ios_base::iostate& ,
long double& ) const
{ return __s; }
virtual iter_type
do_get(iter_type __s, iter_type , bool ,
ios_base& , ios_base::iostate& ,
string_type& ) const
{ return __s; }
};
template<typename _CharT, typename _InIter>
locale::id money_get<_CharT, _InIter>::id;
template<typename _CharT, typename _OutIter>
class money_put : public locale::facet
{
public:
typedef _CharT char_type;
typedef _OutIter iter_type;
typedef basic_string<_CharT> string_type;
static locale::id id;
explicit
money_put(size_t __refs = 0) : locale::facet(__refs) { }
iter_type
put(iter_type __s, bool __intl, ios_base& __f,
char_type __fill, long double __units) const
{ return do_put(__s, __intl, __f, __fill, __units); }
iter_type
put(iter_type __s, bool __intl, ios_base& __f,
char_type __fill, const string_type& __digits) const
{ return do_put(__s, __intl, __f, __fill, __digits); }
protected:
virtual
~money_put() { }
virtual iter_type
do_put(iter_type __s, bool, ios_base& , char_type ,
long double ) const
{ return __s; }
virtual iter_type
do_put(iter_type __s, bool, ios_base& , char_type ,
const string_type& ) const
{ return __s; }
};
template<typename _CharT, typename _OutIter>
locale::id money_put<_CharT, _OutIter>::id;
struct money_base
{
enum part { none, space, symbol, sign, value };
struct pattern { char field[4]; };
static const pattern _S_default_pattern;
static pattern
_S_construct_pattern(char __preceeds, char __space, char __posn);
};
template<typename _CharT, bool _Intl>
class moneypunct : public locale::facet, public money_base
{
public:
typedef _CharT char_type;
typedef basic_string<_CharT> string_type;
static const bool intl = _Intl;
static locale::id id;
private:
char_type _M_decimal_point;
char_type _M_thousands_sep;
string _M_grouping;
string_type _M_curr_symbol;
string_type _M_positive_sign;
string_type _M_negative_sign;
int _M_frac_digits;
pattern _M_pos_format;
pattern _M_neg_format;
public:
explicit
moneypunct(size_t __refs = 0) : locale::facet(__refs)
{ _M_initialize_moneypunct(); }
explicit
moneypunct(__c_locale __cloc, size_t __refs = 0) : locale::facet(__refs)
{ _M_initialize_moneypunct(__cloc); }
char_type
decimal_point() const
{ return this->do_decimal_point(); }
char_type
thousands_sep() const
{ return this->do_thousands_sep(); }
string
grouping() const
{ return this->do_grouping(); }
string_type
curr_symbol() const
{ return this->do_curr_symbol(); }
string_type
positive_sign() const
{ return this->do_positive_sign(); }
string_type
negative_sign() const
{ return this->do_negative_sign(); }
int
frac_digits() const
{ return this->do_frac_digits(); }
pattern
pos_format() const
{ return this->do_pos_format(); }
pattern
neg_format() const
{ return this->do_neg_format(); }
protected:
virtual
~moneypunct() { }
virtual char_type
do_decimal_point() const
{ return _M_decimal_point; }
virtual char_type
do_thousands_sep() const
{ return _M_thousands_sep; }
virtual string
do_grouping() const
{ return _M_grouping; }
virtual string_type
do_curr_symbol() const
{ return _M_curr_symbol; }
virtual string_type
do_positive_sign() const
{ return _M_positive_sign; }
virtual string_type
do_negative_sign() const
{ return _M_negative_sign; }
virtual int
do_frac_digits() const
{ return _M_frac_digits; }
virtual pattern
do_pos_format() const
{ return _M_pos_format; }
virtual pattern
do_neg_format() const
{ return _M_neg_format; }
void
_M_initialize_moneypunct(__c_locale __cloc = __null);
};
template<typename _CharT, bool _Intl>
locale::id moneypunct<_CharT, _Intl>::id;
template<typename _CharT, bool _Intl>
const bool moneypunct<_CharT, _Intl>::intl;
template<typename _CharT, bool _Intl>
void
moneypunct<_CharT, _Intl>::_M_initialize_moneypunct(__c_locale )
{
}
template<>
void
moneypunct<char>::_M_initialize_moneypunct(__c_locale __cloc);
template<>
void
moneypunct<wchar_t>::_M_initialize_moneypunct(__c_locale __cloc);
template<typename _CharT, bool _Intl>
class moneypunct_byname : public moneypunct<_CharT, _Intl>
{
__c_locale _M_c_locale_moneypunct;
public:
typedef _CharT char_type;
typedef basic_string<_CharT> string_type;
static const bool intl = _Intl;
explicit
moneypunct_byname(const char* __s, size_t __refs = 0)
: moneypunct<_CharT, _Intl>(__refs)
{
_S_create_c_locale(_M_c_locale_moneypunct, __s);
_M_initialize_moneypunct(_M_c_locale_moneypunct);
}
protected:
virtual
~moneypunct_byname()
{ _S_destroy_c_locale(_M_c_locale_moneypunct); }
};
template<typename _CharT, bool _Intl>
const bool moneypunct_byname<_CharT, _Intl>::intl;
struct messages_base
{
typedef int catalog;
};
template<typename _CharT>
class messages : public locale::facet, public messages_base
{
public:
typedef _CharT char_type;
typedef basic_string<_CharT> string_type;
static locale::id id;
explicit
messages(size_t __refs = 0) : locale::facet(__refs) { }
catalog
open(const basic_string<char>& __s, const locale& __loc) const
{ return do_open(__s, __loc); }
string_type
get(catalog __c, int __set, int __msgid, const string_type& __s) const
{ return do_get(__c,__set,__msgid,__s); }
void
close(catalog __c) const
{ return do_close(__c); }
protected:
virtual
~messages() { }
virtual catalog
do_open(const basic_string<char>&, const locale&) const
{ return 0; }
virtual string_type
do_get(catalog, int, int , const string_type& __dfault) const
{ return __dfault; }
virtual void
do_close(catalog) const { }
};
template<typename _CharT>
locale::id messages<_CharT>::id;
template<typename _CharT>
class messages_byname : public messages<_CharT>
{
public:
typedef _CharT char_type;
typedef basic_string<_CharT> string_type;
explicit
messages_byname(const char*, size_t __refs = 0);
protected:
virtual
~messages_byname() { }
};
template<>
messages_byname<char>::messages_byname(const char*, size_t __refs);
template<>
messages_byname<wchar_t>::messages_byname(const char*, size_t __refs);
template<typename _CharT>
inline bool
isspace(_CharT __c, const locale& __loc)
{ return use_facet<ctype<_CharT> >(__loc).is(ctype_base::space, __c); }
template<typename _CharT>
inline bool
isprint(_CharT __c, const locale& __loc)
{ return use_facet<ctype<_CharT> >(__loc).is(ctype_base::print, __c); }
template<typename _CharT>
inline bool
iscntrl(_CharT __c, const locale& __loc)
{ return use_facet<ctype<_CharT> >(__loc).is(ctype_base::cntrl, __c); }
template<typename _CharT>
inline bool
isupper(_CharT __c, const locale& __loc)
{ return use_facet<ctype<_CharT> >(__loc).is(ctype_base::upper, __c); }
template<typename _CharT>
inline bool islower(_CharT __c, const locale& __loc)
{ return use_facet<ctype<_CharT> >(__loc).is(ctype_base::lower, __c); }
template<typename _CharT>
inline bool
isalpha(_CharT __c, const locale& __loc)
{ return use_facet<ctype<_CharT> >(__loc).is(ctype_base::alpha, __c); }
template<typename _CharT>
inline bool
isdigit(_CharT __c, const locale& __loc)
{ return use_facet<ctype<_CharT> >(__loc).is(ctype_base::digit, __c); }
template<typename _CharT>
inline bool
ispunct(_CharT __c, const locale& __loc)
{ return use_facet<ctype<_CharT> >(__loc).is(ctype_base::punct, __c); }
template<typename _CharT>
inline bool
isxdigit(_CharT __c, const locale& __loc)
{ return use_facet<ctype<_CharT> >(__loc).is(ctype_base::xdigit, __c); }
template<typename _CharT>
inline bool
isalnum(_CharT __c, const locale& __loc)
{ return use_facet<ctype<_CharT> >(__loc).is(ctype_base::alnum, __c); }
template<typename _CharT>
inline bool
isgraph(_CharT __c, const locale& __loc)
{ return use_facet<ctype<_CharT> >(__loc).is(ctype_base::graph, __c); }
template<typename _CharT>
inline _CharT
toupper(_CharT __c, const locale& __loc)
{ return use_facet<ctype<_CharT> >(__loc).toupper(__c); }
template<typename _CharT>
inline _CharT
tolower(_CharT __c, const locale& __loc)
{ return use_facet<ctype<_CharT> >(__loc).tolower(__c); }
}
# 37 "/opt/egcs/include/g++-v3/bits/basic_ios.h" 2 3
namespace std
{
template<typename _CharT, typename _Traits>
class basic_ios : public ios_base
{
public:
typedef _CharT char_type;
typedef typename _Traits::int_type int_type;
typedef typename _Traits::pos_type pos_type;
typedef typename _Traits::off_type off_type;
typedef _Traits traits_type;
typedef ctype<_CharT> __ctype_type;
typedef ostreambuf_iterator<_CharT, _Traits> __ostreambuf_iter;
typedef num_put<_CharT, __ostreambuf_iter> __numput_type;
typedef istreambuf_iterator<_CharT, _Traits> __istreambuf_iter;
typedef num_get<_CharT, __istreambuf_iter> __numget_type;
private:
basic_ostream<_CharT, _Traits>* _M_tie;
char_type _M_fill;
iostate _M_exception;
protected:
basic_streambuf<_CharT, _Traits>* _M_streambuf;
iostate _M_streambuf_state;
const __ctype_type* _M_ios_fctype;
const __numput_type* _M_fnumput;
const __numget_type* _M_fnumget;
public:
inline const __ctype_type*
_M_get_fctype_ios(void)
{ return _M_ios_fctype; }
operator void*() const
{ return this->fail() ? 0 : const_cast<basic_ios*>(this); }
inline bool
operator!() const
{ return this->fail(); }
inline iostate
rdstate() const
{ return _M_streambuf_state; }
inline void
clear(iostate __state = goodbit)
{
if (this->rdbuf())
_M_streambuf_state = __state;
else
_M_streambuf_state = __state | badbit;
if ((this->rdstate() & this->exceptions()))
__throw_ios_failure("basic_ios::clear(iostate) caused exception");
}
inline void
setstate(iostate __state)
{ this->clear(this->rdstate() | __state); }
inline bool
good() const
{ return this->rdstate() == 0; }
inline bool
eof() const
{ return (this->rdstate() & eofbit) != 0; }
inline bool
fail() const
{ return (this->rdstate() & (badbit | failbit)) != 0; }
inline bool
bad() const
{ return (this->rdstate() & badbit) != 0; }
inline iostate
exceptions() const
{ return _M_exception; }
inline void
exceptions(iostate __except)
{
_M_exception = __except;
this->clear(_M_streambuf_state);
}
explicit
basic_ios(basic_streambuf<_CharT, _Traits>* __sb) : ios_base()
{ this->init(__sb); }
virtual
~basic_ios() { }
inline basic_ostream<_CharT, _Traits>*
tie() const
{ return _M_tie; }
inline basic_ostream<_CharT, _Traits>*
tie(basic_ostream<_CharT, _Traits>* __tiestr)
{
basic_ostream<_CharT, _Traits>* __old = _M_tie;
_M_tie = __tiestr;
return __old;
}
inline basic_streambuf<_CharT, _Traits>*
rdbuf() const
{ return _M_streambuf; }
basic_streambuf<_CharT, _Traits>*
rdbuf(basic_streambuf<_CharT, _Traits>* __sb);
basic_ios&
copyfmt(const basic_ios& __rhs);
inline char_type
fill() const
{ return _M_fill; }
inline char_type
fill(char_type __ch)
{
char_type __old = _M_fill;
_M_fill = __ch;
return __old;
}
locale
imbue(const locale& __loc);
char
narrow(char_type __c, char __dfault) const;
char_type
widen(char __c) const;
protected:
basic_ios() : ios_base()
{ }
void
init(basic_streambuf<_CharT, _Traits>* __sb);
bool
_M_check_facet(const locale::facet* __f)
{
bool __ret = false;
if (__f)
__ret = true;
else
__throw_bad_cast();
return __ret;
}
void
_M_cache_facets(const locale& __loc);
};
}
# 1 "/opt/egcs/include/g++-v3/bits/basic_ios.tcc" 1 3
# 33 "/opt/egcs/include/g++-v3/bits/basic_ios.tcc" 3
namespace std
{
template<typename _CharT, typename _Traits>
basic_streambuf<_CharT, _Traits>*
basic_ios<_CharT, _Traits>::rdbuf(basic_streambuf<_CharT, _Traits>* __sb)
{
basic_streambuf<_CharT, _Traits>* __old = _M_streambuf;
_M_streambuf = __sb;
this->clear();
return __old;
}
template<typename _CharT, typename _Traits>
basic_ios<_CharT, _Traits>&
basic_ios<_CharT, _Traits>::copyfmt(const basic_ios& __rhs)
{
_Words* __words = (__rhs._M_word_limit <= _S_local_words) ?
_M_word_array : new _Words[__rhs._M_word_limit];
# 63 "/opt/egcs/include/g++-v3/bits/basic_ios.tcc" 3
_Callback_list* __cb = __rhs._M_callbacks;
if (__cb)
__cb->_M_add_reference();
_M_call_callbacks(erase_event);
if (_M_words != _M_word_array)
delete [] _M_words;
_M_dispose_callbacks();
_M_callbacks = __cb;
for (int __i = 0; __i < __rhs._M_word_limit; ++__i)
__words[__i] = __rhs._M_words[__i];
if (_M_words != _M_word_array)
delete [] _M_words;
_M_words = __words;
_M_word_limit = __rhs._M_word_limit;
this->flags(__rhs.flags());
this->width(__rhs.width());
this->precision(__rhs.precision());
this->tie(__rhs.tie());
this->fill(__rhs.fill());
this->exceptions(__rhs.exceptions());
_M_call_callbacks(copyfmt_event);
return *this;
}
template<typename _CharT, typename _Traits>
char
basic_ios<_CharT, _Traits>::narrow(char_type __c, char __dfault) const
{ return _M_ios_fctype->narrow(__c, __dfault); }
template<typename _CharT, typename _Traits>
_CharT
basic_ios<_CharT, _Traits>::widen(char __c) const
{ return _M_ios_fctype->widen(__c); }
template<typename _CharT, typename _Traits>
locale
basic_ios<_CharT, _Traits>::imbue(const locale& __loc)
{
locale __old(this->getloc());
ios_base::imbue(__loc);
_M_cache_facets(__loc);
if (this->rdbuf() != 0)
this->rdbuf()->pubimbue(__loc);
return __old;
}
template<typename _CharT, typename _Traits>
void
basic_ios<_CharT, _Traits>::init(basic_streambuf<_CharT, _Traits>* __sb)
{
ios_base::_M_init();
_M_cache_facets(_M_ios_locale);
_M_tie = 0;
_M_fill = this->widen(' ');
_M_exception = goodbit;
_M_streambuf = __sb;
_M_streambuf_state = __sb ? goodbit : badbit;
}
template<typename _CharT, typename _Traits>
void
basic_ios<_CharT, _Traits>::_M_cache_facets(const locale& __loc)
{
if (has_facet<__ctype_type>(__loc))
_M_ios_fctype = &use_facet<__ctype_type>(__loc);
if (has_facet<__numput_type>(__loc))
_M_fnumput = &use_facet<__numput_type>(__loc);
if (has_facet<__numget_type>(__loc))
_M_fnumget = &use_facet<__numget_type>(__loc);
}
}
# 214 "/opt/egcs/include/g++-v3/bits/basic_ios.h" 2 3
# 47 "/opt/egcs/include/g++-v3/bits/std_ios.h" 2 3
# 40 "/opt/egcs/include/g++-v3/bits/std_ostream.h" 2 3
namespace std
{
template<typename _CharT, typename _Traits>
class basic_ostream : virtual public basic_ios<_CharT, _Traits>
{
public:
typedef _CharT char_type;
typedef typename _Traits::int_type int_type;
typedef typename _Traits::pos_type pos_type;
typedef typename _Traits::off_type off_type;
typedef _Traits traits_type;
typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
typedef basic_ios<_CharT, _Traits> __ios_type;
typedef basic_ostream<_CharT, _Traits> __ostream_type;
typedef ostreambuf_iterator<_CharT, _Traits> __ostreambuf_iter;
typedef num_put<_CharT, __ostreambuf_iter> __numput_type;
typedef ctype<_CharT> __ctype_type;
explicit
basic_ostream(__streambuf_type* __sb)
{ this->init(__sb); }
virtual
~basic_ostream() { }
class sentry;
friend class sentry;
__ostream_type&
operator<<(__ostream_type& (*__pf)(__ostream_type&));
__ostream_type&
operator<<(__ios_type& (*__pf)(__ios_type&));
__ostream_type&
operator<<(ios_base& (*__pf) (ios_base&));
__ostream_type&
operator<<(long __n);
__ostream_type&
operator<<(unsigned long __n);
__ostream_type&
operator<<(bool __n);
__ostream_type&
operator<<(short __n)
{
ios_base::fmtflags __fmt = this->flags() & ios_base::basefield;
if (__fmt & ios_base::oct || __fmt & ios_base::hex)
return this->operator<<(static_cast<unsigned long>
(static_cast<unsigned short>(__n)));
else
return this->operator<<(static_cast<long>(__n));
}
__ostream_type&
operator<<(unsigned short __n)
{ return this->operator<<(static_cast<unsigned long>(__n)); }
__ostream_type&
operator<<(int __n)
{
ios_base::fmtflags __fmt = this->flags() & ios_base::basefield;
if (__fmt & ios_base::oct || __fmt & ios_base::hex)
return this->operator<<(static_cast<unsigned long>
(static_cast<unsigned int>(__n)));
else
return this->operator<<(static_cast<long>(__n));
}
__ostream_type&
operator<<(unsigned int __n)
{ return this->operator<<(static_cast<unsigned long>(__n)); }
__ostream_type&
operator<<(long long __n);
__ostream_type&
operator<<(unsigned long long __n);
__ostream_type&
operator<<(double __f);
__ostream_type&
operator<<(float __f)
{ return this->operator<<(static_cast<double>(__f)); }
__ostream_type&
operator<<(long double __f);
__ostream_type&
operator<<(const void* __p);
__ostream_type&
operator<<(__streambuf_type* __sb);
__ostream_type&
put(char_type __c);
__ostream_type&
write(const char_type* __s, streamsize __n);
__ostream_type&
flush();
pos_type
tellp();
__ostream_type&
seekp(pos_type);
__ostream_type&
seekp(off_type, ios_base::seekdir);
private:
__ostream_type&
operator=(const __ostream_type&);
basic_ostream(const __ostream_type&);
};
template <typename _CharT, typename _Traits>
class basic_ostream<_CharT, _Traits>::sentry
{
bool _M_ok;
basic_ostream<_CharT,_Traits>& _M_os;
public:
explicit
sentry(basic_ostream<_CharT,_Traits>& __os);
~sentry()
{
if (_M_os.flags() & ios_base::unitbuf && !uncaught_exception())
{
if (_M_os.rdbuf() && _M_os.rdbuf()->pubsync() == -1)
_M_os.setstate(ios_base::badbit);
}
}
operator bool()
{ return _M_ok; }
};
template<typename _CharT, typename _Traits>
basic_ostream<_CharT, _Traits>&
operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c);
template<typename _CharT, typename _Traits>
basic_ostream<_CharT, _Traits>&
operator<<(basic_ostream<_CharT, _Traits>& __out, char __c)
{ return (__out << __out.widen(__c)); }
template <class _Traits>
basic_ostream<char, _Traits>&
operator<<(basic_ostream<char, _Traits>& __out, char __c);
template<class _Traits>
basic_ostream<char, _Traits>&
operator<<(basic_ostream<char, _Traits>& __out, signed char __c)
{ return (__out << static_cast<char>(__c)); }
template<class _Traits>
basic_ostream<char, _Traits>&
operator<<(basic_ostream<char, _Traits>& __out, unsigned char __c)
{ return (__out << static_cast<char>(__c)); }
template<typename _CharT, typename _Traits>
basic_ostream<_CharT, _Traits>&
operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s);
template<typename _CharT, typename _Traits>
basic_ostream<_CharT, _Traits> &
operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s);
template<class _Traits>
basic_ostream<char, _Traits>&
operator<<(basic_ostream<char, _Traits>& __out, const char* __s);
template<class _Traits>
basic_ostream<char, _Traits>&
operator<<(basic_ostream<char, _Traits>& __out, const signed char* __s)
{ return (__out << reinterpret_cast<const char*>(__s)); }
template<class _Traits>
basic_ostream<char, _Traits> &
operator<<(basic_ostream<char, _Traits>& __out, const unsigned char* __s)
{ return (__out << reinterpret_cast<const char*>(__s)); }
template<typename _CharT, typename _Traits>
basic_ostream<_CharT, _Traits>&
endl(basic_ostream<_CharT, _Traits>& __os)
{ return flush(__os.put(__os.widen('\n'))); }
template<typename _CharT, typename _Traits>
basic_ostream<_CharT, _Traits>&
ends(basic_ostream<_CharT, _Traits>& __os)
{ return __os.put(_CharT()); }
template<typename _CharT, typename _Traits>
basic_ostream<_CharT, _Traits>&
flush(basic_ostream<_CharT, _Traits>& __os)
{ return __os.flush(); }
}
# 1 "/opt/egcs/include/g++-v3/bits/ostream.tcc" 1 3
# 32 "/opt/egcs/include/g++-v3/bits/ostream.tcc" 3
# 1 "/opt/egcs/include/g++-v3/bits/std_locale.h" 1 3
# 38 "/opt/egcs/include/g++-v3/bits/std_locale.h" 3
# 1 "/opt/egcs/include/g++-v3/bits/localefwd.h" 1 3
# 40 "/opt/egcs/include/g++-v3/bits/std_locale.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/locale_facets.h" 1 3
# 41 "/opt/egcs/include/g++-v3/bits/std_locale.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/locale_facets.tcc" 1 3
# 35 "/opt/egcs/include/g++-v3/bits/locale_facets.tcc" 3
# 1 "/opt/egcs/include/g++-v3/bits/std_cerrno.h" 1 3
# 38 "/opt/egcs/include/g++-v3/bits/std_cerrno.h" 3
# 1 "/usr/include/errno.h" 1 3
# 29 "/usr/include/errno.h" 3
# 1 "/usr/include/features.h" 1 3
# 30 "/usr/include/errno.h" 2 3
extern "C" {
# 1 "/usr/include/bits/errno.h" 1 3
# 25 "/usr/include/bits/errno.h" 3
# 1 "/usr/include/linux/errno.h" 1 3
# 1 "/usr/include/asm/errno.h" 1 3
# 5 "/usr/include/linux/errno.h" 2 3
# 26 "/usr/include/bits/errno.h" 2 3
# 36 "/usr/include/bits/errno.h" 3
extern int errno;
extern int *__errno_location (void) throw () __attribute__ ((__const__));
# 37 "/usr/include/errno.h" 2 3
# 55 "/usr/include/errno.h" 3
extern char *program_invocation_name, *program_invocation_short_name;
}
# 69 "/usr/include/errno.h" 3
typedef int error_t;
# 39 "/opt/egcs/include/g++-v3/bits/std_cerrno.h" 2 3
# 36 "/opt/egcs/include/g++-v3/bits/locale_facets.tcc" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/std_clocale.h" 1 3
# 38 "/opt/egcs/include/g++-v3/bits/std_clocale.h" 3
# 1 "/usr/include/locale.h" 1 3
# 26 "/usr/include/locale.h" 3
# 1 "/usr/include/features.h" 1 3
# 27 "/usr/include/locale.h" 2 3
# 1 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stddef.h" 1 3
# 30 "/usr/include/locale.h" 2 3
# 1 "/usr/include/bits/locale.h" 1 3
# 31 "/usr/include/locale.h" 2 3
extern "C" {
# 52 "/usr/include/locale.h" 3
struct lconv
{
char *decimal_point;
char *thousands_sep;
char *grouping;
char *int_curr_symbol;
char *currency_symbol;
char *mon_decimal_point;
char *mon_thousands_sep;
char *mon_grouping;
char *positive_sign;
char *negative_sign;
char int_frac_digits;
char frac_digits;
char p_cs_precedes;
char p_sep_by_space;
char n_cs_precedes;
char n_sep_by_space;
char p_sign_posn;
char n_sign_posn;
char int_p_cs_precedes;
char int_p_sep_by_space;
char int_n_cs_precedes;
char int_n_sep_by_space;
char int_p_sign_posn;
char int_n_sign_posn;
# 119 "/usr/include/locale.h" 3
};
extern char *setlocale (int __category, __const char *__locale) throw ();
extern struct lconv *localeconv (void) throw ();
# 141 "/usr/include/locale.h" 3
# 1 "/usr/include/xlocale.h" 1 3
# 142 "/usr/include/locale.h" 2 3
extern __locale_t __newlocale (int __category_mask, __const char *__locale,
__locale_t __base) throw ();
extern __locale_t __duplocale (__locale_t __dataset) throw ();
extern void __freelocale (__locale_t __dataset) throw ();
}
# 39 "/opt/egcs/include/g++-v3/bits/std_clocale.h" 2 3
namespace std
{
using ::lconv;
using ::setlocale;
using ::localeconv;
}
# 37 "/opt/egcs/include/g++-v3/bits/locale_facets.tcc" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/std_cstdlib.h" 1 3
# 38 "/opt/egcs/include/g++-v3/bits/locale_facets.tcc" 2 3
# 1 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/std_limits.h" 1 3
# 45 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/std_limits.h" 3
# 1 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/c++config.h" 1 3
# 46 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/std_limits.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/std_cfloat.h" 1 3
# 38 "/opt/egcs/include/g++-v3/bits/std_cfloat.h" 3
# 1 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/float.h" 1 3
# 39 "/opt/egcs/include/g++-v3/bits/std_cfloat.h" 2 3
# 47 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/std_limits.h" 2 3
namespace std
{
enum float_round_style
{
round_indeterminate = -1,
round_toward_zero = 0,
round_to_nearest = 1,
round_toward_infinity = 2,
round_toward_neg_infinity = 3
};
enum float_denorm_style
{
denorm_indeterminate = -1,
denorm_absent = 0,
denorm_present = 1
};
template<typename _Tp>
struct numeric_limits
{
static const bool is_specialized = false;
static _Tp min() throw() { return static_cast<_Tp>(0); }
static _Tp max() throw() { return static_cast<_Tp>(0); }
static const int digits = 0;
static const int digits10 = 0;
static const bool is_signed = false;
static const bool is_integer = false;
static const bool is_exact = false;
static const int radix = 0;
static _Tp epsilon() throw() { return static_cast<_Tp>(0); }
static _Tp round_error() throw() { return static_cast<_Tp>(0); }
static const int min_exponent = 0;
static const int min_exponent10 = 0;
static const int max_exponent = 0;
static const int max_exponent10 = 0;
static const bool has_infinity = false;
static const bool has_quiet_NaN = false;
static const bool has_signaling_NaN = false;
static const float_denorm_style has_denorm = denorm_absent;
static const bool has_denorm_loss = false;
static _Tp infinity() throw() { return static_cast<_Tp>(0); }
static _Tp quiet_NaN() throw() { return static_cast<_Tp>(0); }
static _Tp signaling_NaN() throw() { return static_cast<_Tp>(0); }
static _Tp denorm_min() throw() { return static_cast<_Tp>(0); }
static const bool is_iec559 = false;
static const bool is_bounded = false;
static const bool is_modulo = false;
static const bool traps = false;
static const bool tinyness_before = false;
static const float_round_style round_style = round_toward_zero;
};
template<typename _Tp>
const bool
numeric_limits<_Tp>::is_specialized;
template<typename _Tp>
const int
numeric_limits<_Tp>::digits;
template<typename _Tp>
const int
numeric_limits<_Tp>::digits10;
template<typename _Tp>
const bool
numeric_limits<_Tp>::is_signed;
template<typename _Tp>
const bool
numeric_limits<_Tp>::is_integer;
template<typename _Tp>
const bool
numeric_limits<_Tp>::is_exact;
template<typename _Tp>
const int
numeric_limits<_Tp>::radix;
template<typename _Tp>
const int
numeric_limits<_Tp>::min_exponent;
template<typename _Tp>
const int
numeric_limits<_Tp>::min_exponent10;
template<typename _Tp>
const int
numeric_limits<_Tp>::max_exponent;
template<typename _Tp>
const int
numeric_limits<_Tp>::max_exponent10;
template<typename _Tp>
const bool
numeric_limits<_Tp>::has_infinity;
template<typename _Tp>
const bool
numeric_limits<_Tp>::has_quiet_NaN;
template<typename _Tp>
const bool
numeric_limits<_Tp>::has_signaling_NaN;
template<typename _Tp>
const float_denorm_style
numeric_limits<_Tp>::has_denorm;
template<typename _Tp>
const bool
numeric_limits<_Tp>::has_denorm_loss;
template<typename _Tp>
const bool
numeric_limits<_Tp>::is_iec559;
template<typename _Tp>
const bool
numeric_limits<_Tp>::is_bounded;
template<typename _Tp>
const bool
numeric_limits<_Tp>::is_modulo;
template<typename _Tp>
const bool
numeric_limits<_Tp>::traps;
template<typename _Tp>
const bool
numeric_limits<_Tp>::tinyness_before;
template<typename _Tp>
const float_round_style
numeric_limits<_Tp>::round_style;
template<typename _Tp> _Tp __limits_infinity();
template<typename _Tp> _Tp __limits_quiet_NaN();
template<typename _Tp> _Tp __limits_signaling_NaN();
template<typename _Tp> _Tp __limits_denorm_min();
template<> struct numeric_limits<bool> {
static const bool is_specialized = true;
static bool min() throw()
{ return false; }
static bool max() throw()
{ return true; }
static const int digits = 8;
static const int digits10 = 2;
static const bool is_signed = false;
static const bool is_integer = true;
static const bool is_exact = true;
static const int radix = 2;
static bool epsilon() throw()
{ return 0; }
static bool round_error() throw()
{ return 0; }
static const int min_exponent = 0;
static const int min_exponent10 = 0;
static const int max_exponent = 0;
static const int max_exponent10 = 0;
static const bool has_infinity = false;
static const bool has_quiet_NaN = false;
static const bool has_signaling_NaN = false;
static const float_denorm_style has_denorm = denorm_absent;
static const bool has_denorm_loss = false;
static bool infinity() throw()
{ return static_cast<bool>(0); }
static bool quiet_NaN() throw()
{ return static_cast<bool>(0); }
static bool signaling_NaN() throw()
{ return static_cast<bool>(0); }
static bool denorm_min() throw()
{ return static_cast<bool>(0); }
static const bool is_iec559 = true;
static const bool is_bounded = true;
static const bool is_modulo = true;
static const bool traps = true;
static const bool tinyness_before = false;
static const float_round_style round_style = round_toward_zero;
};
template<> struct numeric_limits<char> {
static const bool is_specialized = true;
static char min() throw()
{ return (-128); }
static char max() throw()
{ return 127; }
static const int digits = 7;
static const int digits10 = 2;
static const bool is_signed = true;
static const bool is_integer = true;
static const bool is_exact = true;
static const int radix = 2;
static char epsilon() throw()
{ return 0; }
static char round_error() throw()
{ return 0; }
static const int min_exponent = 0;
static const int min_exponent10 = 0;
static const int max_exponent = 0;
static const int max_exponent10 = 0;
static const bool has_infinity = false;
static const bool has_quiet_NaN = false;
static const bool has_signaling_NaN = false;
static const float_denorm_style has_denorm = denorm_absent;
static const bool has_denorm_loss = false;
static char infinity() throw()
{ return static_cast<char>(0); }
static char quiet_NaN() throw()
{ return static_cast<char>(0); }
static char signaling_NaN() throw()
{ return static_cast<char>(0); }
static char denorm_min() throw()
{ return static_cast<char>(0); }
static const bool is_iec559 = false;
static const bool is_bounded = true;
static const bool is_modulo = false;
static const bool traps = true;
static const bool tinyness_before = false;
static const float_round_style round_style = round_toward_zero;
};
template<> struct numeric_limits<signed char> {
static const bool is_specialized = true;
static signed char min() throw()
{ return (-128); }
static signed char max() throw()
{ return 127; }
static const int digits = 7;
static const int digits10 = 2;
static const bool is_signed = true;
static const bool is_integer = true;
static const bool is_exact = true;
static const int radix = 2;
static signed char epsilon() throw()
{ return 0; }
static signed char round_error() throw()
{ return 0; }
static const int min_exponent = 0;
static const int min_exponent10 = 0;
static const int max_exponent = 0;
static const int max_exponent10 = 0;
static const bool has_infinity = false;
static const bool has_quiet_NaN = false;
static const bool has_signaling_NaN = false;
static const float_denorm_style has_denorm = denorm_absent;
static const bool has_denorm_loss = false;
static signed char infinity() throw()
{ return static_cast<signed char>(0); }
static signed char quiet_NaN() throw()
{ return static_cast<signed char>(0); }
static signed char signaling_NaN() throw()
{ return static_cast<signed char>(0); }
static signed char denorm_min() throw()
{ return static_cast<signed char>(0); }
static const bool is_iec559 = false;
static const bool is_bounded = true;
static const bool is_modulo = false;
static const bool traps = true;
static const bool tinyness_before = false;
static const float_round_style round_style = round_toward_zero;
};
template<> struct numeric_limits<unsigned char> {
static const bool is_specialized = true;
static unsigned char min() throw()
{ return 0; }
static unsigned char max() throw()
{ return 255; }
static const int digits = 8;
static const int digits10 = 2;
static const bool is_signed = false;
static const bool is_integer = true;
static const bool is_exact = true;
static const int radix = 2;
static unsigned char epsilon() throw()
{ return 0; }
static unsigned char round_error() throw()
{ return 0; }
static const int min_exponent = 0;
static const int min_exponent10 = 0;
static const int max_exponent = 0;
static const int max_exponent10 = 0;
static const bool has_infinity = false;
static const bool has_quiet_NaN = false;
static const bool has_signaling_NaN = false;
static const float_denorm_style has_denorm = denorm_absent;
static const bool has_denorm_loss = false;
static unsigned char infinity() throw()
{ return static_cast<unsigned char>(0); }
static unsigned char quiet_NaN() throw()
{ return static_cast<unsigned char>(0); }
static unsigned char signaling_NaN() throw()
{ return static_cast<unsigned char>(0); }
static unsigned char denorm_min() throw()
{ return static_cast<unsigned char>(0); }
static const bool is_iec559 = false;
static const bool is_bounded = true;
static const bool is_modulo = true;
static const bool traps = true;
static const bool tinyness_before = false;
static const float_round_style round_style = round_toward_zero;
};
template<> struct numeric_limits<wchar_t> {
static const bool is_specialized = true;
static wchar_t min() throw()
{ return (-2147483647l - 1l); }
static wchar_t max() throw()
{ return (2147483647l); }
static const int digits = 31;
static const int digits10 = 9;
static const bool is_signed = true;
static const bool is_integer = true;
static const bool is_exact = true;
static const int radix = 2;
static wchar_t epsilon() throw()
{ return 0; }
static wchar_t round_error() throw()
{ return 0; }
static const int min_exponent = 0;
static const int min_exponent10 = 0;
static const int max_exponent = 0;
static const int max_exponent10 = 0;
static const bool has_infinity = false;
static const bool has_quiet_NaN = false;
static const bool has_signaling_NaN = false;
static const float_denorm_style has_denorm = denorm_absent;
static const bool has_denorm_loss = false;
static wchar_t infinity() throw()
{ return static_cast<wchar_t>(0); }
static wchar_t quiet_NaN() throw()
{ return static_cast<wchar_t>(0); }
static wchar_t signaling_NaN() throw()
{ return static_cast<wchar_t>(0); }
static wchar_t denorm_min() throw()
{ return static_cast<wchar_t>(0); }
static const bool is_iec559 = false;
static const bool is_bounded = true;
static const bool is_modulo = false;
static const bool traps = true;
static const bool tinyness_before = false;
static const float_round_style round_style = round_toward_zero;
};
template<> struct numeric_limits<short> {
static const bool is_specialized = true;
static short min() throw()
{ return (-32767-1); }
static short max() throw()
{ return 32767; }
static const int digits = 15;
static const int digits10 = 4;
static const bool is_signed = true;
static const bool is_integer = true;
static const bool is_exact = true;
static const int radix = 2;
static short epsilon() throw()
{ return 0; }
static short round_error() throw()
{ return 0; }
static const int min_exponent = 0;
static const int min_exponent10 = 0;
static const int max_exponent = 0;
static const int max_exponent10 = 0;
static const bool has_infinity = false;
static const bool has_quiet_NaN = false;
static const bool has_signaling_NaN = false;
static const float_denorm_style has_denorm = denorm_absent;
static const bool has_denorm_loss = false;
static short infinity() throw()
{ return static_cast<short>(0); }
static short quiet_NaN() throw()
{ return static_cast<short>(0); }
static short signaling_NaN() throw()
{ return static_cast<short>(0); }
static short denorm_min() throw()
{ return static_cast<short>(0); }
static const bool is_iec559 = false;
static const bool is_bounded = true;
static const bool is_modulo = false;
static const bool traps = true;
static const bool tinyness_before = false;
static const float_round_style round_style = round_toward_zero;
};
template<> struct numeric_limits<unsigned short> {
static const bool is_specialized = true;
static unsigned short min() throw()
{ return 0; }
static unsigned short max() throw()
{ return (32767 * 2 + 1); }
static const int digits = 16;
static const int digits10 = 4;
static const bool is_signed = false;
static const bool is_integer = true;
static const bool is_exact = true;
static const int radix = 2;
static unsigned short epsilon() throw()
{ return 0; }
static unsigned short round_error() throw()
{ return 0; }
static const int min_exponent = 0;
static const int min_exponent10 = 0;
static const int max_exponent = 0;
static const int max_exponent10 = 0;
static const bool has_infinity = false;
static const bool has_quiet_NaN = false;
static const bool has_signaling_NaN = false;
static const float_denorm_style has_denorm = denorm_absent;
static const bool has_denorm_loss = false;
static unsigned short infinity() throw()
{ return static_cast<unsigned short>(0); }
static unsigned short quiet_NaN() throw()
{ return static_cast<unsigned short>(0); }
static unsigned short signaling_NaN() throw()
{ return static_cast<unsigned short>(0); }
static unsigned short denorm_min() throw()
{ return static_cast<unsigned short>(0); }
static const bool is_iec559 = false;
static const bool is_bounded = true;
static const bool is_modulo = true;
static const bool traps = true;
static const bool tinyness_before = false;
static const float_round_style round_style = round_toward_zero;
};
template<> struct numeric_limits<int> {
static const bool is_specialized = true;
static int min() throw()
{ return (-2147483647-1); }
static int max() throw()
{ return 2147483647; }
static const int digits = 31;
static const int digits10 = 9;
static const bool is_signed = true;
static const bool is_integer = true;
static const bool is_exact = true;
static const int radix = 2;
static int epsilon() throw()
{ return 0; }
static int round_error() throw()
{ return 0; }
static const int min_exponent = 0;
static const int min_exponent10 = 0;
static const int max_exponent = 0;
static const int max_exponent10 = 0;
static const bool has_infinity = false;
static const bool has_quiet_NaN = false;
static const bool has_signaling_NaN = false;
static const float_denorm_style has_denorm = denorm_absent;
static const bool has_denorm_loss = false;
static int infinity() throw()
{ return static_cast<int>(0); }
static int quiet_NaN() throw()
{ return static_cast<int>(0); }
static int signaling_NaN() throw()
{ return static_cast<int>(0); }
static int denorm_min() throw()
{ return static_cast<int>(0); }
static const bool is_iec559 = true;
static const bool is_bounded = true;
static const bool is_modulo = false;
static const bool traps = true;
static const bool tinyness_before = false;
static const float_round_style round_style = round_toward_zero;
};
template<> struct numeric_limits<unsigned int> {
static const bool is_specialized = true;
static unsigned int min() throw()
{ return 0; }
static unsigned int max() throw()
{ return (2147483647 * 2U + 1); }
static const int digits = 32;
static const int digits10 = 9;
static const bool is_signed = false;
static const bool is_integer = true;
static const bool is_exact = true;
static const int radix = 2;
static unsigned int epsilon() throw()
{ return 0; }
static unsigned int round_error() throw()
{ return 0; }
static const int min_exponent = 0;
static const int min_exponent10 = 0;
static const int max_exponent = 0;
static const int max_exponent10 = 0;
static const bool has_infinity = false;
static const bool has_quiet_NaN = false;
static const bool has_signaling_NaN = false;
static const float_denorm_style has_denorm = denorm_absent;
static const bool has_denorm_loss = false;
static unsigned int infinity() throw()
{ return static_cast<unsigned int>(0); }
static unsigned int quiet_NaN() throw()
{ return static_cast<unsigned int>(0); }
static unsigned int signaling_NaN() throw()
{ return static_cast<unsigned int>(0); }
static unsigned int denorm_min() throw()
{ return static_cast<unsigned int>(0); }
static const bool is_iec559 = true;
static const bool is_bounded = true;
static const bool is_modulo = true;
static const bool traps = true;
static const bool tinyness_before = false;
static const float_round_style round_style = round_toward_zero;
};
template<> struct numeric_limits<long> {
static const bool is_specialized = true;
static long min() throw()
{ return (-2147483647L-1); }
static long max() throw()
{ return 2147483647L; }
static const int digits = 31;
static const int digits10 = 9;
static const bool is_signed = true;
static const bool is_integer = true;
static const bool is_exact = true;
static const int radix = 2;
static long epsilon() throw()
{ return 0; }
static long round_error() throw()
{ return 0; }
static const int min_exponent = 0;
static const int min_exponent10 = 0;
static const int max_exponent = 0;
static const int max_exponent10 = 0;
static const bool has_infinity = false;
static const bool has_quiet_NaN = false;
static const bool has_signaling_NaN = false;
static const float_denorm_style has_denorm = denorm_absent;
static const bool has_denorm_loss = false;
static long infinity() throw()
{ return static_cast<long>(0); }
static long quiet_NaN() throw()
{ return static_cast<long>(0); }
static long signaling_NaN() throw()
{ return static_cast<long>(0); }
static long denorm_min() throw()
{ return static_cast<long>(0); }
static const bool is_iec559 = true;
static const bool is_bounded = true;
static const bool is_modulo = false;
static const bool traps = true;
static const bool tinyness_before = false;
static const float_round_style round_style = round_toward_zero;
};
template<> struct numeric_limits<unsigned long> {
static const bool is_specialized = true;
static unsigned long min() throw()
{ return 0; }
static unsigned long max() throw()
{ return (2147483647L * 2UL + 1); }
static const int digits = 32;
static const int digits10 = 9;
static const bool is_signed = false;
static const bool is_integer = true;
static const bool is_exact = true;
static const int radix = 2;
static unsigned long epsilon() throw()
{ return 0; }
static unsigned long round_error() throw()
{ return 0; }
static const int min_exponent = 0;
static const int min_exponent10 = 0;
static const int max_exponent = 0;
static const int max_exponent10 = 0;
static const bool has_infinity = false;
static const bool has_quiet_NaN = false;
static const bool has_signaling_NaN = false;
static const float_denorm_style has_denorm = denorm_absent;
static const bool has_denorm_loss = false;
static unsigned long infinity() throw()
{ return static_cast<unsigned long>(0); }
static unsigned long quiet_NaN() throw()
{ return static_cast<unsigned long>(0); }
static unsigned long signaling_NaN() throw()
{ return static_cast<unsigned long>(0); }
static unsigned long denorm_min() throw()
{ return static_cast<unsigned long>(0); }
static const bool is_iec559 = true;
static const bool is_bounded = true;
static const bool is_modulo = true;
static const bool traps = true;
static const bool tinyness_before = false;
static const float_round_style round_style = round_toward_zero;
};
template<> struct numeric_limits<long long> {
static const bool is_specialized = true;
static long long min() throw()
{ return (-9223372036854775807LL-1); }
static long long max() throw()
{ return 9223372036854775807LL; }
static const int digits = 63;
static const int digits10 = 18;
static const bool is_signed = true;
static const bool is_integer = true;
static const bool is_exact = true;
static const int radix = 2;
static long long epsilon() throw()
{ return 0; }
static long long round_error() throw()
{ return 0; }
static const int min_exponent = 0;
static const int min_exponent10 = 0;
static const int max_exponent = 0;
static const int max_exponent10 = 0;
static const bool has_infinity = false;
static const bool has_quiet_NaN = false;
static const bool has_signaling_NaN = false;
static const float_denorm_style has_denorm = denorm_absent;
static const bool has_denorm_loss = false;
static long long infinity() throw()
{ return static_cast<long long>(0); }
static long long quiet_NaN() throw()
{ return static_cast<long long>(0); }
static long long signaling_NaN() throw()
{ return static_cast<long long>(0); }
static long long denorm_min() throw()
{ return static_cast<long long>(0); }
static const bool is_iec559 = true;
static const bool is_bounded = true;
static const bool is_modulo = false;
static const bool traps = true;
static const bool tinyness_before = false;
static const float_round_style round_style = round_toward_zero;
};
template<> struct numeric_limits<unsigned long long> {
static const bool is_specialized = true;
static unsigned long long min() throw()
{ return 0; }
static unsigned long long max() throw()
{ return (9223372036854775807LL * 2ULL + 1); }
static const int digits = 64;
static const int digits10 = 19;
static const bool is_signed = false;
static const bool is_integer = true;
static const bool is_exact = true;
static const int radix = 2;
static unsigned long long epsilon() throw()
{ return 0; }
static unsigned long long round_error() throw()
{ return 0; }
static const int min_exponent = 0;
static const int min_exponent10 = 0;
static const int max_exponent = 0;
static const int max_exponent10 = 0;
static const bool has_infinity = false;
static const bool has_quiet_NaN = false;
static const bool has_signaling_NaN = false;
static const float_denorm_style has_denorm = denorm_absent;
static const bool has_denorm_loss = false;
static unsigned long long infinity() throw()
{ return static_cast<unsigned long long>(0); }
static unsigned long long quiet_NaN() throw()
{ return static_cast<unsigned long long>(0); }
static unsigned long long signaling_NaN() throw()
{ return static_cast<unsigned long long>(0); }
static unsigned long long denorm_min() throw()
{ return static_cast<unsigned long long>(0); }
static const bool is_iec559 = true;
static const bool is_bounded = true;
static const bool is_modulo = true;
static const bool traps = true;
static const bool tinyness_before = false;
static const float_round_style round_style = round_toward_zero;
};
template<> struct numeric_limits<float> {
static const bool is_specialized = true;
static float min() throw()
{ return 1.17549435e-38F; }
static float max() throw()
{ return 3.40282347e+38F; }
static const int digits = 24;
static const int digits10 = 7;
static const bool is_signed = true;
static const bool is_integer = false;
static const bool is_exact = false;
static const int radix = 2;
static float epsilon() throw()
{ return 1.19209290e-07F; }
static float round_error() throw()
{ return 1.0f; }
static const int min_exponent = -125;
static const int min_exponent10 = -37;
static const int max_exponent = 128;
static const int max_exponent10 = 38;
static const bool has_infinity = false;
static const bool has_quiet_NaN = false;
static const bool has_signaling_NaN = false;
static const float_denorm_style has_denorm = denorm_absent;
static const bool has_denorm_loss = false;
static float infinity() throw()
{ return static_cast<float>(0); }
static float quiet_NaN() throw()
{ return static_cast<float>(0); }
static float signaling_NaN() throw()
{ return static_cast<float>(0); }
static float denorm_min() throw()
{ return static_cast<float>(0); }
static const bool is_iec559 = false;
static const bool is_bounded = true;
static const bool is_modulo = false;
static const bool traps = false;
static const bool tinyness_before = false;
static const float_round_style round_style = round_toward_zero;
};
template<> struct numeric_limits<double> {
static const bool is_specialized = true;
static double min() throw()
{ return 2.2250738585072014e-308; }
static double max() throw()
{ return 1.7976931348623157e+308; }
static const int digits = 53;
static const int digits10 = 15;
static const bool is_signed = true;
static const bool is_integer = false;
static const bool is_exact = false;
static const int radix = 2;
static double epsilon() throw()
{ return 2.2204460492503131e-16; }
static double round_error() throw()
{ return 1.0; }
static const int min_exponent = -1021;
static const int min_exponent10 = -307;
static const int max_exponent = 1024;
static const int max_exponent10 = 308;
static const bool has_infinity = false;
static const bool has_quiet_NaN = false;
static const bool has_signaling_NaN = false;
static const float_denorm_style has_denorm = denorm_absent;
static const bool has_denorm_loss = false;
static double infinity() throw()
{ return static_cast<double>(0); }
static double quiet_NaN() throw()
{ return static_cast<double>(0); }
static double signaling_NaN() throw()
{ return static_cast<double>(0); }
static double denorm_min() throw()
{ return static_cast<double>(0); }
static const bool is_iec559 = false;
static const bool is_bounded = true;
static const bool is_modulo = false;
static const bool traps = false;
static const bool tinyness_before = false;
static const float_round_style round_style = round_toward_zero;
};
template<> struct numeric_limits<long double> {
static const bool is_specialized = true;
static long double min() throw()
{ return 3.36210314311209350626e-4932L; }
static long double max() throw()
{ return 1.18973149535723176502e+4932L; }
static const int digits = 64;
static const int digits10 = 19;
static const bool is_signed = true;
static const bool is_integer = false;
static const bool is_exact = false;
static const int radix = 2;
static long double epsilon() throw()
{ return 1.08420217248550443401e-19L; }
static long double round_error() throw()
{ return 1.0L; }
static const int min_exponent = -16381;
static const int min_exponent10 = -4931;
static const int max_exponent = 16384;
static const int max_exponent10 = 4932;
static const bool has_infinity = false;
static const bool has_quiet_NaN = false;
static const bool has_signaling_NaN = false;
static const float_denorm_style has_denorm = denorm_absent;
static const bool has_denorm_loss = false;
static long double infinity() throw()
{ return static_cast<long double>(0); }
static long double quiet_NaN() throw()
{ return static_cast<long double>(0); }
static long double signaling_NaN() throw()
{ return static_cast<long double>(0); }
static long double denorm_min() throw()
{ return static_cast<long double>(0); }
static const bool is_iec559 = false;
static const bool is_bounded = true;
static const bool is_modulo = false;
static const bool traps = false;
static const bool tinyness_before = false;
static const float_round_style round_style = round_toward_zero;
};
}
# 39 "/opt/egcs/include/g++-v3/bits/locale_facets.tcc" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/std_memory.h" 1 3
# 40 "/opt/egcs/include/g++-v3/bits/locale_facets.tcc" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/streambuf_iterator.h" 1 3
# 41 "/opt/egcs/include/g++-v3/bits/locale_facets.tcc" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/std_cctype.h" 1 3
# 42 "/opt/egcs/include/g++-v3/bits/locale_facets.tcc" 2 3
# 1 "/opt/egcs/include/g++-v3/typeinfo" 1 3
# 37 "/opt/egcs/include/g++-v3/typeinfo" 3
# 1 "/opt/egcs/include/g++-v3/exception" 1 3
# 38 "/opt/egcs/include/g++-v3/typeinfo" 2 3
extern "C++" {
namespace __cxxabiv1
{
class __class_type_info;
}
# 54 "/opt/egcs/include/g++-v3/typeinfo" 3
namespace std
{
class type_info
{
public:
virtual ~type_info();
private:
type_info& operator=(const type_info&);
type_info(const type_info&);
protected:
const char *__name;
protected:
explicit type_info(const char *__n): __name(__n) { }
public:
const char* name() const
{ return __name; }
# 97 "/opt/egcs/include/g++-v3/typeinfo" 3
bool before(const type_info& __arg) const
{ return __name < __arg.__name; }
bool operator==(const type_info& __arg) const
{ return __name == __arg.__name; }
bool operator!=(const type_info& __arg) const
{ return !operator==(__arg); }
public:
virtual bool __is_pointer_p() const;
virtual bool __is_function_p() const;
virtual bool __do_catch(const type_info *__thr_type, void **__thr_obj,
unsigned __outer) const;
virtual bool __do_upcast(const __cxxabiv1::__class_type_info *__target,
void **__obj_ptr) const;
};
class bad_cast : public exception
{
public:
bad_cast() throw() { }
virtual ~bad_cast() throw();
};
class bad_typeid : public exception
{
public:
bad_typeid () throw() { }
virtual ~bad_typeid () throw();
};
}
}
# 43 "/opt/egcs/include/g++-v3/bits/locale_facets.tcc" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/std_vector.h" 1 3
# 60 "/opt/egcs/include/g++-v3/bits/std_vector.h" 3
# 1 "/opt/egcs/include/g++-v3/bits/functexcept.h" 1 3
# 34 "/opt/egcs/include/g++-v3/bits/functexcept.h" 3
# 1 "/opt/egcs/include/g++-v3/exception_defines.h" 1 3
# 35 "/opt/egcs/include/g++-v3/bits/functexcept.h" 2 3
namespace std
{
void
__throw_bad_exception(void);
void
__throw_bad_alloc(void);
void
__throw_bad_cast(void);
void
__throw_bad_typeid(void);
void
__throw_logic_error(const char* __s);
void
__throw_domain_error(const char* __s);
void
__throw_invalid_argument(const char* __s);
void
__throw_length_error(const char* __s);
void
__throw_out_of_range(const char* __s);
void
__throw_runtime_error(const char* __s);
void
__throw_range_error(const char* __s);
void
__throw_overflow_error(const char* __s);
void
__throw_underflow_error(const char* __s);
void
__throw_ios_failure(const char* __s);
}
# 62 "/opt/egcs/include/g++-v3/bits/std_vector.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/stl_algobase.h" 1 3
# 63 "/opt/egcs/include/g++-v3/bits/std_vector.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/stl_alloc.h" 1 3
# 64 "/opt/egcs/include/g++-v3/bits/std_vector.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/stl_construct.h" 1 3
# 65 "/opt/egcs/include/g++-v3/bits/std_vector.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/stl_uninitialized.h" 1 3
# 66 "/opt/egcs/include/g++-v3/bits/std_vector.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/stl_vector.h" 1 3
# 63 "/opt/egcs/include/g++-v3/bits/stl_vector.h" 3
# 1 "/opt/egcs/include/g++-v3/bits/stl_iterator_base_funcs.h" 1 3
# 64 "/opt/egcs/include/g++-v3/bits/stl_vector.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/functexcept.h" 1 3
# 34 "/opt/egcs/include/g++-v3/bits/functexcept.h" 3
# 1 "/opt/egcs/include/g++-v3/exception_defines.h" 1 3
# 35 "/opt/egcs/include/g++-v3/bits/functexcept.h" 2 3
namespace std
{
void
__throw_bad_exception(void);
void
__throw_bad_alloc(void);
void
__throw_bad_cast(void);
void
__throw_bad_typeid(void);
void
__throw_logic_error(const char* __s);
void
__throw_domain_error(const char* __s);
void
__throw_invalid_argument(const char* __s);
void
__throw_length_error(const char* __s);
void
__throw_out_of_range(const char* __s);
void
__throw_runtime_error(const char* __s);
void
__throw_range_error(const char* __s);
void
__throw_overflow_error(const char* __s);
void
__throw_underflow_error(const char* __s);
void
__throw_ios_failure(const char* __s);
}
# 65 "/opt/egcs/include/g++-v3/bits/stl_vector.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/concept_check.h" 1 3
# 66 "/opt/egcs/include/g++-v3/bits/stl_vector.h" 2 3
namespace std
{
# 77 "/opt/egcs/include/g++-v3/bits/stl_vector.h" 3
template <class _Tp, class _Allocator, bool _IsStatic>
class _Vector_alloc_base {
public:
typedef typename _Alloc_traits<_Tp, _Allocator>::allocator_type
allocator_type;
allocator_type get_allocator() const { return _M_data_allocator; }
_Vector_alloc_base(const allocator_type& __a)
: _M_data_allocator(__a), _M_start(0), _M_finish(0), _M_end_of_storage(0)
{}
protected:
allocator_type _M_data_allocator;
_Tp* _M_start;
_Tp* _M_finish;
_Tp* _M_end_of_storage;
_Tp* _M_allocate(size_t __n)
{ return _M_data_allocator.allocate(__n); }
void _M_deallocate(_Tp* __p, size_t __n)
{ if (__p) _M_data_allocator.deallocate(__p, __n); }
};
template <class _Tp, class _Allocator>
class _Vector_alloc_base<_Tp, _Allocator, true> {
public:
typedef typename _Alloc_traits<_Tp, _Allocator>::allocator_type
allocator_type;
allocator_type get_allocator() const { return allocator_type(); }
_Vector_alloc_base(const allocator_type&)
: _M_start(0), _M_finish(0), _M_end_of_storage(0)
{}
protected:
_Tp* _M_start;
_Tp* _M_finish;
_Tp* _M_end_of_storage;
typedef typename _Alloc_traits<_Tp, _Allocator>::_Alloc_type _Alloc_type;
_Tp* _M_allocate(size_t __n)
{ return _Alloc_type::allocate(__n); }
void _M_deallocate(_Tp* __p, size_t __n)
{ _Alloc_type::deallocate(__p, __n);}
};
template <class _Tp, class _Alloc>
struct _Vector_base
: public _Vector_alloc_base<_Tp, _Alloc,
_Alloc_traits<_Tp, _Alloc>::_S_instanceless>
{
typedef _Vector_alloc_base<_Tp, _Alloc,
_Alloc_traits<_Tp, _Alloc>::_S_instanceless>
_Base;
typedef typename _Base::allocator_type allocator_type;
_Vector_base(const allocator_type& __a) : _Base(__a) {}
_Vector_base(size_t __n, const allocator_type& __a) : _Base(__a) {
_M_start = _M_allocate(__n);
_M_finish = _M_start;
_M_end_of_storage = _M_start + __n;
}
~_Vector_base() { _M_deallocate(_M_start, _M_end_of_storage - _M_start); }
};
template <class _Tp, class _Alloc = allocator<_Tp> >
class vector : protected _Vector_base<_Tp, _Alloc>
{
;
private:
typedef _Vector_base<_Tp, _Alloc> _Base;
typedef vector<_Tp, _Alloc> vector_type;
public:
typedef _Tp value_type;
typedef value_type* pointer;
typedef const value_type* const_pointer;
typedef __normal_iterator<pointer, vector_type> iterator;
typedef __normal_iterator<const_pointer, vector_type> const_iterator;
typedef value_type& reference;
typedef const value_type& const_reference;
typedef size_t size_type;
typedef ptrdiff_t difference_type;
typedef typename _Base::allocator_type allocator_type;
allocator_type get_allocator() const { return _Base::get_allocator(); }
typedef reverse_iterator<const_iterator> const_reverse_iterator;
typedef reverse_iterator<iterator> reverse_iterator;
protected:
using _Base::_M_allocate;
using _Base::_M_deallocate;
using _Base::_M_start;
using _Base::_M_finish;
using _Base::_M_end_of_storage;
protected:
void _M_insert_aux(iterator __position, const _Tp& __x);
void _M_insert_aux(iterator __position);
public:
iterator begin() { return iterator (_M_start); }
const_iterator begin() const
{ return const_iterator (_M_start); }
iterator end() { return iterator (_M_finish); }
const_iterator end() const { return const_iterator (_M_finish); }
reverse_iterator rbegin()
{ return reverse_iterator(end()); }
const_reverse_iterator rbegin() const
{ return const_reverse_iterator(end()); }
reverse_iterator rend()
{ return reverse_iterator(begin()); }
const_reverse_iterator rend() const
{ return const_reverse_iterator(begin()); }
size_type size() const
{ return size_type(end() - begin()); }
size_type max_size() const
{ return size_type(-1) / sizeof(_Tp); }
size_type capacity() const
{ return size_type(const_iterator(_M_end_of_storage) - begin()); }
bool empty() const
{ return begin() == end(); }
reference operator[](size_type __n) { return *(begin() + __n); }
const_reference operator[](size_type __n) const { return *(begin() + __n); }
void _M_range_check(size_type __n) const {
if (__n >= this->size())
__throw_out_of_range("vector");
}
reference at(size_type __n)
{ _M_range_check(__n); return (*this)[__n]; }
const_reference at(size_type __n) const
{ _M_range_check(__n); return (*this)[__n]; }
explicit vector(const allocator_type& __a = allocator_type())
: _Base(__a) {}
vector(size_type __n, const _Tp& __value,
const allocator_type& __a = allocator_type())
: _Base(__n, __a)
{ _M_finish = uninitialized_fill_n(_M_start, __n, __value); }
explicit vector(size_type __n)
: _Base(__n, allocator_type())
{ _M_finish = uninitialized_fill_n(_M_start, __n, _Tp()); }
vector(const vector<_Tp, _Alloc>& __x)
: _Base(__x.size(), __x.get_allocator())
{ _M_finish = uninitialized_copy(__x.begin(), __x.end(), _M_start); }
template <class _InputIterator>
vector(_InputIterator __first, _InputIterator __last,
const allocator_type& __a = allocator_type())
: _Base(__a)
{
typedef typename _Is_integer<_InputIterator>::_Integral _Integral;
_M_initialize_aux(__first, __last, _Integral());
}
template <class _Integer>
void _M_initialize_aux(_Integer __n, _Integer __value, __true_type)
{
_M_start = _M_allocate(__n);
_M_end_of_storage = _M_start + __n;
_M_finish = uninitialized_fill_n(_M_start, __n, __value);
}
template<class _InputIterator>
void
_M_initialize_aux(_InputIterator __first, _InputIterator __last, __false_type)
{
typedef typename iterator_traits<_InputIterator>::iterator_category _IterCategory;
_M_range_initialize(__first, __last, _IterCategory());
}
~vector()
{ _Destroy(_M_start, _M_finish); }
vector<_Tp, _Alloc>& operator=(const vector<_Tp, _Alloc>& __x);
void reserve(size_type __n) {
if (capacity() < __n) {
const size_type __old_size = size();
pointer __tmp = _M_allocate_and_copy(__n, _M_start, _M_finish);
_Destroy(_M_start, _M_finish);
_M_deallocate(_M_start, _M_end_of_storage - _M_start);
_M_start = __tmp;
_M_finish = __tmp + __old_size;
_M_end_of_storage = _M_start + __n;
}
}
void assign(size_type __n, const _Tp& __val) { _M_fill_assign(__n, __val); }
void _M_fill_assign(size_type __n, const _Tp& __val);
template<class _InputIterator>
void
assign(_InputIterator __first, _InputIterator __last)
{
typedef typename _Is_integer<_InputIterator>::_Integral _Integral;
_M_assign_dispatch(__first, __last, _Integral());
}
template<class _Integer>
void
_M_assign_dispatch(_Integer __n, _Integer __val, __true_type)
{ _M_fill_assign((size_type) __n, (_Tp) __val); }
template<class _InputIter>
void
_M_assign_dispatch(_InputIter __first, _InputIter __last, __false_type)
{
typedef typename iterator_traits<_InputIter>::iterator_category _IterCategory;
_M_assign_aux(__first, __last, _IterCategory());
}
template <class _InputIterator>
void _M_assign_aux(_InputIterator __first, _InputIterator __last,
input_iterator_tag);
template <class _ForwardIterator>
void _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last,
forward_iterator_tag);
reference front() { return *begin(); }
const_reference front() const { return *begin(); }
reference back() { return *(end() - 1); }
const_reference back() const { return *(end() - 1); }
void
push_back(const _Tp& __x)
{
if (_M_finish != _M_end_of_storage) {
_Construct(_M_finish, __x);
++_M_finish;
}
else
_M_insert_aux(end(), __x);
}
void
push_back()
{
if (_M_finish != _M_end_of_storage) {
_Construct(_M_finish);
++_M_finish;
}
else
_M_insert_aux(end());
}
void
swap(vector<_Tp, _Alloc>& __x)
{
std::swap(_M_start, __x._M_start);
std::swap(_M_finish, __x._M_finish);
std::swap(_M_end_of_storage, __x._M_end_of_storage);
}
iterator
insert(iterator __position, const _Tp& __x)
{
size_type __n = __position - begin();
if (_M_finish != _M_end_of_storage && __position == end()) {
_Construct(_M_finish, __x);
++_M_finish;
}
else
_M_insert_aux(iterator(__position), __x);
return begin() + __n;
}
iterator
insert(iterator __position)
{
size_type __n = __position - begin();
if (_M_finish != _M_end_of_storage && __position == end()) {
_Construct(_M_finish);
++_M_finish;
}
else
_M_insert_aux(iterator(__position));
return begin() + __n;
}
template<class _InputIterator>
void
insert(iterator __pos, _InputIterator __first, _InputIterator __last)
{
typedef typename _Is_integer<_InputIterator>::_Integral _Integral;
_M_insert_dispatch(__pos, __first, __last, _Integral());
}
template <class _Integer>
void
_M_insert_dispatch(iterator __pos, _Integer __n, _Integer __val, __true_type)
{ _M_fill_insert(__pos, static_cast<size_type>(__n), static_cast<_Tp>(__val)); }
template<class _InputIterator>
void
_M_insert_dispatch(iterator __pos,
_InputIterator __first, _InputIterator __last,
__false_type)
{
typedef typename iterator_traits<_InputIterator>::iterator_category _IterCategory;
_M_range_insert(__pos, __first, __last, _IterCategory());
}
void insert (iterator __pos, size_type __n, const _Tp& __x)
{ _M_fill_insert(__pos, __n, __x); }
void _M_fill_insert (iterator __pos, size_type __n, const _Tp& __x);
void pop_back() {
--_M_finish;
_Destroy(_M_finish);
}
iterator erase(iterator __position) {
if (__position + 1 != end())
copy(__position + 1, end(), __position);
--_M_finish;
_Destroy(_M_finish);
return __position;
}
iterator erase(iterator __first, iterator __last) {
iterator __i(copy(__last, end(), __first));
_Destroy(__i, end());
_M_finish = _M_finish - (__last - __first);
return __first;
}
void resize(size_type __new_size, const _Tp& __x) {
if (__new_size < size())
erase(begin() + __new_size, end());
else
insert(end(), __new_size - size(), __x);
}
void resize(size_type __new_size) { resize(__new_size, _Tp()); }
void clear() { erase(begin(), end()); }
protected:
template <class _ForwardIterator>
pointer _M_allocate_and_copy(size_type __n, _ForwardIterator __first,
_ForwardIterator __last)
{
pointer __result = _M_allocate(__n);
try {
uninitialized_copy(__first, __last, __result);
return __result;
}
catch(...) { _M_deallocate(__result, __n); throw; };
}
template <class _InputIterator>
void _M_range_initialize(_InputIterator __first,
_InputIterator __last, input_iterator_tag)
{
for ( ; __first != __last; ++__first)
push_back(*__first);
}
template <class _ForwardIterator>
void _M_range_initialize(_ForwardIterator __first,
_ForwardIterator __last, forward_iterator_tag)
{
size_type __n = 0;
distance(__first, __last, __n);
_M_start = _M_allocate(__n);
_M_end_of_storage = _M_start + __n;
_M_finish = uninitialized_copy(__first, __last, _M_start);
}
template <class _InputIterator>
void _M_range_insert(iterator __pos,
_InputIterator __first, _InputIterator __last,
input_iterator_tag);
template <class _ForwardIterator>
void _M_range_insert(iterator __pos,
_ForwardIterator __first, _ForwardIterator __last,
forward_iterator_tag);
};
template <class _Tp, class _Alloc>
inline bool
operator==(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
{
return __x.size() == __y.size() &&
equal(__x.begin(), __x.end(), __y.begin());
}
template <class _Tp, class _Alloc>
inline bool
operator<(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
{
return lexicographical_compare(__x.begin(), __x.end(),
__y.begin(), __y.end());
}
template <class _Tp, class _Alloc>
inline void swap(vector<_Tp, _Alloc>& __x, vector<_Tp, _Alloc>& __y)
{
__x.swap(__y);
}
template <class _Tp, class _Alloc>
inline bool
operator!=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) {
return !(__x == __y);
}
template <class _Tp, class _Alloc>
inline bool
operator>(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) {
return __y < __x;
}
template <class _Tp, class _Alloc>
inline bool
operator<=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) {
return !(__y < __x);
}
template <class _Tp, class _Alloc>
inline bool
operator>=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) {
return !(__x < __y);
}
template <class _Tp, class _Alloc>
vector<_Tp,_Alloc>&
vector<_Tp,_Alloc>::operator=(const vector<_Tp, _Alloc>& __x)
{
if (&__x != this) {
const size_type __xlen = __x.size();
if (__xlen > capacity()) {
pointer __tmp = _M_allocate_and_copy(__xlen, __x.begin(), __x.end());
_Destroy(_M_start, _M_finish);
_M_deallocate(_M_start, _M_end_of_storage - _M_start);
_M_start = __tmp;
_M_end_of_storage = _M_start + __xlen;
}
else if (size() >= __xlen) {
iterator __i(copy(__x.begin(), __x.end(), begin()));
_Destroy(__i, end());
}
else {
copy(__x.begin(), __x.begin() + size(), _M_start);
uninitialized_copy(__x.begin() + size(), __x.end(), _M_finish);
}
_M_finish = _M_start + __xlen;
}
return *this;
}
template <class _Tp, class _Alloc>
void vector<_Tp, _Alloc>::_M_fill_assign(size_t __n, const value_type& __val)
{
if (__n > capacity()) {
vector<_Tp, _Alloc> __tmp(__n, __val, get_allocator());
__tmp.swap(*this);
}
else if (__n > size()) {
fill(begin(), end(), __val);
_M_finish = uninitialized_fill_n(_M_finish, __n - size(), __val);
}
else
erase(fill_n(begin(), __n, __val), end());
}
template <class _Tp, class _Alloc> template <class _InputIter>
void vector<_Tp, _Alloc>::_M_assign_aux(_InputIter __first, _InputIter __last,
input_iterator_tag) {
iterator __cur(begin());
for ( ; __first != __last && __cur != end(); ++__cur, ++__first)
*__cur = *__first;
if (__first == __last)
erase(__cur, end());
else
insert(end(), __first, __last);
}
template <class _Tp, class _Alloc> template <class _ForwardIter>
void
vector<_Tp, _Alloc>::_M_assign_aux(_ForwardIter __first, _ForwardIter __last,
forward_iterator_tag) {
size_type __len = 0;
distance(__first, __last, __len);
if (__len > capacity()) {
pointer __tmp(_M_allocate_and_copy(__len, __first, __last));
_Destroy(_M_start, _M_finish);
_M_deallocate(_M_start, _M_end_of_storage - _M_start);
_M_start = __tmp;
_M_end_of_storage = _M_finish = _M_start + __len;
}
else if (size() >= __len) {
iterator __new_finish(copy(__first, __last, _M_start));
_Destroy(__new_finish, end());
_M_finish = __new_finish.base();
}
else {
_ForwardIter __mid = __first;
advance(__mid, size());
copy(__first, __mid, _M_start);
_M_finish = uninitialized_copy(__mid, __last, _M_finish);
}
}
template <class _Tp, class _Alloc>
void
vector<_Tp, _Alloc>::_M_insert_aux(iterator __position, const _Tp& __x)
{
if (_M_finish != _M_end_of_storage) {
_Construct(_M_finish, *(_M_finish - 1));
++_M_finish;
_Tp __x_copy = __x;
copy_backward(__position, iterator(_M_finish - 2), iterator(_M_finish- 1));
*__position = __x_copy;
}
else {
const size_type __old_size = size();
const size_type __len = __old_size != 0 ? 2 * __old_size : 1;
iterator __new_start(_M_allocate(__len));
iterator __new_finish(__new_start);
try {
__new_finish = uninitialized_copy(iterator(_M_start), __position,
__new_start);
_Construct(__new_finish.base(), __x);
++__new_finish;
__new_finish = uninitialized_copy(__position, iterator(_M_finish),
__new_finish);
}
catch(...) { (_Destroy(__new_start,__new_finish), _M_deallocate(__new_start.base(),__len)); throw; };
_Destroy(begin(), end());
_M_deallocate(_M_start, _M_end_of_storage - _M_start);
_M_start = __new_start.base();
_M_finish = __new_finish.base();
_M_end_of_storage = __new_start.base() + __len;
}
}
template <class _Tp, class _Alloc>
void
vector<_Tp, _Alloc>::_M_insert_aux(iterator __position)
{
if (_M_finish != _M_end_of_storage) {
_Construct(_M_finish, *(_M_finish - 1));
++_M_finish;
copy_backward(__position, iterator(_M_finish - 2),
iterator(_M_finish - 1));
*__position = _Tp();
}
else {
const size_type __old_size = size();
const size_type __len = __old_size != 0 ? 2 * __old_size : 1;
pointer __new_start = _M_allocate(__len);
pointer __new_finish = __new_start;
try {
__new_finish = uninitialized_copy(iterator(_M_start), __position,
__new_start);
_Construct(__new_finish);
++__new_finish;
__new_finish = uninitialized_copy(__position, iterator(_M_finish),
__new_finish);
}
catch(...) { (_Destroy(__new_start,__new_finish), _M_deallocate(__new_start,__len)); throw; };
_Destroy(begin(), end());
_M_deallocate(_M_start, _M_end_of_storage - _M_start);
_M_start = __new_start;
_M_finish = __new_finish;
_M_end_of_storage = __new_start + __len;
}
}
template <class _Tp, class _Alloc>
void vector<_Tp, _Alloc>::_M_fill_insert(iterator __position, size_type __n,
const _Tp& __x)
{
if (__n != 0) {
if (size_type(_M_end_of_storage - _M_finish) >= __n) {
_Tp __x_copy = __x;
const size_type __elems_after = end() - __position;
iterator __old_finish(_M_finish);
if (__elems_after > __n) {
uninitialized_copy(_M_finish - __n, _M_finish, _M_finish);
_M_finish += __n;
copy_backward(__position, __old_finish - __n, __old_finish);
fill(__position, __position + __n, __x_copy);
}
else {
uninitialized_fill_n(_M_finish, __n - __elems_after, __x_copy);
_M_finish += __n - __elems_after;
uninitialized_copy(__position, __old_finish, _M_finish);
_M_finish += __elems_after;
fill(__position, __old_finish, __x_copy);
}
}
else {
const size_type __old_size = size();
const size_type __len = __old_size + max(__old_size, __n);
iterator __new_start(_M_allocate(__len));
iterator __new_finish(__new_start);
try {
__new_finish = uninitialized_copy(begin(), __position, __new_start);
__new_finish = uninitialized_fill_n(__new_finish, __n, __x);
__new_finish
= uninitialized_copy(__position, end(), __new_finish);
}
catch(...) { (_Destroy(__new_start,__new_finish), _M_deallocate(__new_start.base(),__len)); throw; };
_Destroy(_M_start, _M_finish);
_M_deallocate(_M_start, _M_end_of_storage - _M_start);
_M_start = __new_start.base();
_M_finish = __new_finish.base();
_M_end_of_storage = __new_start.base() + __len;
}
}
}
template <class _Tp, class _Alloc> template <class _InputIterator>
void
vector<_Tp, _Alloc>::_M_range_insert(iterator __pos,
_InputIterator __first,
_InputIterator __last,
input_iterator_tag)
{
for ( ; __first != __last; ++__first) {
__pos = insert(__pos, *__first);
++__pos;
}
}
template <class _Tp, class _Alloc> template <class _ForwardIterator>
void
vector<_Tp, _Alloc>::_M_range_insert(iterator __position,
_ForwardIterator __first,
_ForwardIterator __last,
forward_iterator_tag)
{
if (__first != __last) {
size_type __n = 0;
distance(__first, __last, __n);
if (size_type(_M_end_of_storage - _M_finish) >= __n) {
const size_type __elems_after = end() - __position;
iterator __old_finish(_M_finish);
if (__elems_after > __n) {
uninitialized_copy(_M_finish - __n, _M_finish, _M_finish);
_M_finish += __n;
copy_backward(__position, __old_finish - __n, __old_finish);
copy(__first, __last, __position);
}
else {
_ForwardIterator __mid = __first;
advance(__mid, __elems_after);
uninitialized_copy(__mid, __last, _M_finish);
_M_finish += __n - __elems_after;
uninitialized_copy(__position, __old_finish, _M_finish);
_M_finish += __elems_after;
copy(__first, __mid, __position);
}
}
else {
const size_type __old_size = size();
const size_type __len = __old_size + max(__old_size, __n);
iterator __new_start(_M_allocate(__len));
iterator __new_finish(__new_start);
try {
__new_finish = uninitialized_copy(iterator(_M_start),
__position, __new_start);
__new_finish = uninitialized_copy(__first, __last, __new_finish);
__new_finish
= uninitialized_copy(__position, iterator(_M_finish), __new_finish);
}
catch(...) { (_Destroy(__new_start,__new_finish), _M_deallocate(__new_start.base(),__len)); throw; };
_Destroy(_M_start, _M_finish);
_M_deallocate(_M_start, _M_end_of_storage - _M_start);
_M_start = __new_start.base();
_M_finish = __new_finish.base();
_M_end_of_storage = __new_start.base() + __len;
}
}
}
}
# 67 "/opt/egcs/include/g++-v3/bits/std_vector.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/stl_bvector.h" 1 3
# 63 "/opt/egcs/include/g++-v3/bits/stl_bvector.h" 3
namespace std
{
static const int __WORD_BIT = int(8*sizeof(unsigned int));
struct _Bit_reference {
unsigned int* _M_p;
unsigned int _M_mask;
_Bit_reference(unsigned int* __x, unsigned int __y)
: _M_p(__x), _M_mask(__y) {}
public:
_Bit_reference() : _M_p(0), _M_mask(0) {}
operator bool() const { return !(!(*_M_p & _M_mask)); }
_Bit_reference& operator=(bool __x)
{
if (__x) *_M_p |= _M_mask;
else *_M_p &= ~_M_mask;
return *this;
}
_Bit_reference& operator=(const _Bit_reference& __x)
{ return *this = bool(__x); }
bool operator==(const _Bit_reference& __x) const
{ return bool(*this) == bool(__x); }
bool operator<(const _Bit_reference& __x) const {
return !bool(*this) && bool(__x);
}
void flip() { *_M_p ^= _M_mask; }
};
inline void swap(_Bit_reference __x, _Bit_reference __y)
{
bool __tmp = __x;
__x = __y;
__y = __tmp;
}
struct _Bit_iterator_base : public random_access_iterator<bool, ptrdiff_t>
{
unsigned int* _M_p;
unsigned int _M_offset;
_Bit_iterator_base(unsigned int* __x, unsigned int __y)
: _M_p(__x), _M_offset(__y) {}
void _M_bump_up() {
if (_M_offset++ == __WORD_BIT - 1) {
_M_offset = 0;
++_M_p;
}
}
void _M_bump_down() {
if (_M_offset-- == 0) {
_M_offset = __WORD_BIT - 1;
--_M_p;
}
}
void _M_incr(ptrdiff_t __i) {
difference_type __n = __i + _M_offset;
_M_p += __n / __WORD_BIT;
__n = __n % __WORD_BIT;
if (__n < 0) {
_M_offset = (unsigned int) __n + __WORD_BIT;
--_M_p;
} else
_M_offset = (unsigned int) __n;
}
bool operator==(const _Bit_iterator_base& __i) const {
return _M_p == __i._M_p && _M_offset == __i._M_offset;
}
bool operator<(const _Bit_iterator_base& __i) const {
return _M_p < __i._M_p || (_M_p == __i._M_p && _M_offset < __i._M_offset);
}
bool operator!=(const _Bit_iterator_base& __i) const {
return !(*this == __i);
}
bool operator>(const _Bit_iterator_base& __i) const {
return __i < *this;
}
bool operator<=(const _Bit_iterator_base& __i) const {
return !(__i < *this);
}
bool operator>=(const _Bit_iterator_base& __i) const {
return !(*this < __i);
}
};
inline ptrdiff_t
operator-(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) {
return __WORD_BIT * (__x._M_p - __y._M_p) + __x._M_offset - __y._M_offset;
}
struct _Bit_iterator : public _Bit_iterator_base
{
typedef _Bit_reference reference;
typedef _Bit_reference* pointer;
typedef _Bit_iterator iterator;
_Bit_iterator() : _Bit_iterator_base(0, 0) {}
_Bit_iterator(unsigned int* __x, unsigned int __y)
: _Bit_iterator_base(__x, __y) {}
reference operator*() const { return reference(_M_p, 1U << _M_offset); }
iterator& operator++() {
_M_bump_up();
return *this;
}
iterator operator++(int) {
iterator __tmp = *this;
_M_bump_up();
return __tmp;
}
iterator& operator--() {
_M_bump_down();
return *this;
}
iterator operator--(int) {
iterator __tmp = *this;
_M_bump_down();
return __tmp;
}
iterator& operator+=(difference_type __i) {
_M_incr(__i);
return *this;
}
iterator& operator-=(difference_type __i) {
*this += -__i;
return *this;
}
iterator operator+(difference_type __i) const {
iterator __tmp = *this;
return __tmp += __i;
}
iterator operator-(difference_type __i) const {
iterator __tmp = *this;
return __tmp -= __i;
}
reference operator[](difference_type __i) { return *(*this + __i); }
};
inline _Bit_iterator
operator+(ptrdiff_t __n, const _Bit_iterator& __x) { return __x + __n; }
struct _Bit_const_iterator : public _Bit_iterator_base
{
typedef bool reference;
typedef bool const_reference;
typedef const bool* pointer;
typedef _Bit_const_iterator const_iterator;
_Bit_const_iterator() : _Bit_iterator_base(0, 0) {}
_Bit_const_iterator(unsigned int* __x, unsigned int __y)
: _Bit_iterator_base(__x, __y) {}
_Bit_const_iterator(const _Bit_iterator& __x)
: _Bit_iterator_base(__x._M_p, __x._M_offset) {}
const_reference operator*() const {
return _Bit_reference(_M_p, 1U << _M_offset);
}
const_iterator& operator++() {
_M_bump_up();
return *this;
}
const_iterator operator++(int) {
const_iterator __tmp = *this;
_M_bump_up();
return __tmp;
}
const_iterator& operator--() {
_M_bump_down();
return *this;
}
const_iterator operator--(int) {
const_iterator __tmp = *this;
_M_bump_down();
return __tmp;
}
const_iterator& operator+=(difference_type __i) {
_M_incr(__i);
return *this;
}
const_iterator& operator-=(difference_type __i) {
*this += -__i;
return *this;
}
const_iterator operator+(difference_type __i) const {
const_iterator __tmp = *this;
return __tmp += __i;
}
const_iterator operator-(difference_type __i) const {
const_iterator __tmp = *this;
return __tmp -= __i;
}
const_reference operator[](difference_type __i) {
return *(*this + __i);
}
};
inline _Bit_const_iterator
operator+(ptrdiff_t __n, const _Bit_const_iterator& __x) { return __x + __n; }
template <class _Allocator, bool __is_static>
class _Bvector_alloc_base {
public:
typedef typename _Alloc_traits<bool, _Allocator>::allocator_type
allocator_type;
allocator_type get_allocator() const { return _M_data_allocator; }
_Bvector_alloc_base(const allocator_type& __a)
: _M_data_allocator(__a), _M_start(), _M_finish(), _M_end_of_storage(0) {}
protected:
unsigned int* _M_bit_alloc(size_t __n)
{ return _M_data_allocator.allocate((__n + __WORD_BIT - 1)/__WORD_BIT); }
void _M_deallocate() {
if (_M_start._M_p)
_M_data_allocator.deallocate(_M_start._M_p,
_M_end_of_storage - _M_start._M_p);
}
typename _Alloc_traits<unsigned int, _Allocator>::allocator_type
_M_data_allocator;
_Bit_iterator _M_start;
_Bit_iterator _M_finish;
unsigned int* _M_end_of_storage;
};
template <class _Allocator>
class _Bvector_alloc_base<_Allocator, true> {
public:
typedef typename _Alloc_traits<bool, _Allocator>::allocator_type
allocator_type;
allocator_type get_allocator() const { return allocator_type(); }
_Bvector_alloc_base(const allocator_type&)
: _M_start(), _M_finish(), _M_end_of_storage(0) {}
protected:
typedef typename _Alloc_traits<unsigned int, _Allocator>::_Alloc_type
_Alloc_type;
unsigned int* _M_bit_alloc(size_t __n)
{ return _Alloc_type::allocate((__n + __WORD_BIT - 1)/__WORD_BIT); }
void _M_deallocate() {
if (_M_start._M_p)
_Alloc_type::deallocate(_M_start._M_p,
_M_end_of_storage - _M_start._M_p);
}
_Bit_iterator _M_start;
_Bit_iterator _M_finish;
unsigned int* _M_end_of_storage;
};
template <class _Alloc>
class _Bvector_base
: public _Bvector_alloc_base<_Alloc,
_Alloc_traits<bool, _Alloc>::_S_instanceless>
{
typedef _Bvector_alloc_base<_Alloc,
_Alloc_traits<bool, _Alloc>::_S_instanceless>
_Base;
public:
typedef typename _Base::allocator_type allocator_type;
_Bvector_base(const allocator_type& __a) : _Base(__a) {}
~_Bvector_base() { _Base::_M_deallocate(); }
};
}
# 1 "/opt/egcs/include/g++-v3/bits/stl_vector.h" 1 3
# 347 "/opt/egcs/include/g++-v3/bits/stl_bvector.h" 2 3
namespace std
{
template <typename _Alloc>
class vector<bool, _Alloc> : public _Bvector_base<_Alloc>
{
public:
typedef bool value_type;
typedef size_t size_type;
typedef ptrdiff_t difference_type;
typedef _Bit_reference reference;
typedef bool const_reference;
typedef _Bit_reference* pointer;
typedef const bool* const_pointer;
typedef _Bit_iterator iterator;
typedef _Bit_const_iterator const_iterator;
typedef reverse_iterator<const_iterator> const_reverse_iterator;
typedef reverse_iterator<iterator> reverse_iterator;
typedef typename _Bvector_base<_Alloc>::allocator_type allocator_type;
allocator_type get_allocator() const {
return _Bvector_base<_Alloc>::get_allocator();
}
protected:
using _Bvector_base<_Alloc>::_M_bit_alloc;
using _Bvector_base<_Alloc>::_M_deallocate;
using _Bvector_base<_Alloc>::_M_start;
using _Bvector_base<_Alloc>::_M_finish;
using _Bvector_base<_Alloc>::_M_end_of_storage;
protected:
void _M_initialize(size_type __n) {
unsigned int* __q = _M_bit_alloc(__n);
_M_end_of_storage = __q + (__n + __WORD_BIT - 1)/__WORD_BIT;
_M_start = iterator(__q, 0);
_M_finish = _M_start + difference_type(__n);
}
void _M_insert_aux(iterator __position, bool __x) {
if (_M_finish._M_p != _M_end_of_storage) {
copy_backward(__position, _M_finish, _M_finish + 1);
*__position = __x;
++_M_finish;
}
else {
size_type __len = size() ? 2 * size() : __WORD_BIT;
unsigned int* __q = _M_bit_alloc(__len);
iterator __i = copy(begin(), __position, iterator(__q, 0));
*__i++ = __x;
_M_finish = copy(__position, end(), __i);
_M_deallocate();
_M_end_of_storage = __q + (__len + __WORD_BIT - 1)/__WORD_BIT;
_M_start = iterator(__q, 0);
}
}
template <class _InputIterator>
void _M_initialize_range(_InputIterator __first, _InputIterator __last,
input_iterator_tag) {
_M_start = iterator();
_M_finish = iterator();
_M_end_of_storage = 0;
for ( ; __first != __last; ++__first)
push_back(*__first);
}
template <class _ForwardIterator>
void _M_initialize_range(_ForwardIterator __first, _ForwardIterator __last,
forward_iterator_tag) {
size_type __n = 0;
distance(__first, __last, __n);
_M_initialize(__n);
copy(__first, __last, _M_start);
}
template <class _InputIterator>
void _M_insert_range(iterator __pos,
_InputIterator __first, _InputIterator __last,
input_iterator_tag) {
for ( ; __first != __last; ++__first) {
__pos = insert(__pos, *__first);
++__pos;
}
}
template <class _ForwardIterator>
void _M_insert_range(iterator __position,
_ForwardIterator __first, _ForwardIterator __last,
forward_iterator_tag) {
if (__first != __last) {
size_type __n = 0;
distance(__first, __last, __n);
if (capacity() - size() >= __n) {
copy_backward(__position, end(), _M_finish + difference_type(__n));
copy(__first, __last, __position);
_M_finish += difference_type(__n);
}
else {
size_type __len = size() + max(size(), __n);
unsigned int* __q = _M_bit_alloc(__len);
iterator __i = copy(begin(), __position, iterator(__q, 0));
__i = copy(__first, __last, __i);
_M_finish = copy(__position, end(), __i);
_M_deallocate();
_M_end_of_storage = __q + (__len + __WORD_BIT - 1)/__WORD_BIT;
_M_start = iterator(__q, 0);
}
}
}
public:
iterator begin() { return _M_start; }
const_iterator begin() const { return _M_start; }
iterator end() { return _M_finish; }
const_iterator end() const { return _M_finish; }
reverse_iterator rbegin() { return reverse_iterator(end()); }
const_reverse_iterator rbegin() const {
return const_reverse_iterator(end());
}
reverse_iterator rend() { return reverse_iterator(begin()); }
const_reverse_iterator rend() const {
return const_reverse_iterator(begin());
}
size_type size() const { return size_type(end() - begin()); }
size_type max_size() const { return size_type(-1); }
size_type capacity() const {
return size_type(const_iterator(_M_end_of_storage, 0) - begin());
}
bool empty() const { return begin() == end(); }
reference operator[](size_type __n)
{ return *(begin() + difference_type(__n)); }
const_reference operator[](size_type __n) const
{ return *(begin() + difference_type(__n)); }
void _M_range_check(size_type __n) const {
if (__n >= this->size())
__throw_range_error("vector<bool>");
}
reference at(size_type __n)
{ _M_range_check(__n); return (*this)[__n]; }
const_reference at(size_type __n) const
{ _M_range_check(__n); return (*this)[__n]; }
explicit vector(const allocator_type& __a = allocator_type())
: _Bvector_base<_Alloc>(__a) {}
vector(size_type __n, bool __value,
const allocator_type& __a = allocator_type())
: _Bvector_base<_Alloc>(__a)
{
_M_initialize(__n);
fill(_M_start._M_p, _M_end_of_storage, __value ? ~0 : 0);
}
explicit vector(size_type __n)
: _Bvector_base<_Alloc>(allocator_type())
{
_M_initialize(__n);
fill(_M_start._M_p, _M_end_of_storage, 0);
}
vector(const vector& __x) : _Bvector_base<_Alloc>(__x.get_allocator()) {
_M_initialize(__x.size());
copy(__x.begin(), __x.end(), _M_start);
}
template <class _Integer>
void _M_initialize_dispatch(_Integer __n, _Integer __x, __true_type) {
_M_initialize(__n);
fill(_M_start._M_p, _M_end_of_storage, __x ? ~0 : 0);
}
template <class _InputIterator>
void _M_initialize_dispatch(_InputIterator __first, _InputIterator __last,
__false_type) {
_M_initialize_range(__first, __last, __iterator_category(__first));
}
template <class _InputIterator>
vector(_InputIterator __first, _InputIterator __last,
const allocator_type& __a = allocator_type())
: _Bvector_base<_Alloc>(__a)
{
typedef typename _Is_integer<_InputIterator>::_Integral _Integral;
_M_initialize_dispatch(__first, __last, _Integral());
}
~vector() { }
vector& operator=(const vector& __x) {
if (&__x == this) return *this;
if (__x.size() > capacity()) {
_M_deallocate();
_M_initialize(__x.size());
}
copy(__x.begin(), __x.end(), begin());
_M_finish = begin() + difference_type(__x.size());
return *this;
}
void _M_fill_assign(size_t __n, bool __x) {
if (__n > size()) {
fill(_M_start._M_p, _M_end_of_storage, __x ? ~0 : 0);
insert(end(), __n - size(), __x);
}
else {
erase(begin() + __n, end());
fill(_M_start._M_p, _M_end_of_storage, __x ? ~0 : 0);
}
}
void assign(size_t __n, bool __x) { _M_fill_assign(__n, __x); }
template <class _InputIterator>
void assign(_InputIterator __first, _InputIterator __last) {
typedef typename _Is_integer<_InputIterator>::_Integral _Integral;
_M_assign_dispatch(__first, __last, _Integral());
}
template <class _Integer>
void _M_assign_dispatch(_Integer __n, _Integer __val, __true_type)
{ _M_fill_assign((size_t) __n, (bool) __val); }
template <class _InputIter>
void _M_assign_dispatch(_InputIter __first, _InputIter __last, __false_type)
{ _M_assign_aux(__first, __last, __iterator_category(__first)); }
template <class _InputIterator>
void _M_assign_aux(_InputIterator __first, _InputIterator __last,
input_iterator_tag) {
iterator __cur = begin();
for ( ; __first != __last && __cur != end(); ++__cur, ++__first)
*__cur = *__first;
if (__first == __last)
erase(__cur, end());
else
insert(end(), __first, __last);
}
template <class _ForwardIterator>
void _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last,
forward_iterator_tag) {
size_type __len = 0;
distance(__first, __last, __len);
if (__len < size())
erase(copy(__first, __last, begin()), end());
else {
_ForwardIterator __mid = __first;
advance(__mid, size());
copy(__first, __mid, begin());
insert(end(), __mid, __last);
}
}
void reserve(size_type __n) {
if (capacity() < __n) {
unsigned int* __q = _M_bit_alloc(__n);
_M_finish = copy(begin(), end(), iterator(__q, 0));
_M_deallocate();
_M_start = iterator(__q, 0);
_M_end_of_storage = __q + (__n + __WORD_BIT - 1)/__WORD_BIT;
}
}
reference front() { return *begin(); }
const_reference front() const { return *begin(); }
reference back() { return *(end() - 1); }
const_reference back() const { return *(end() - 1); }
void push_back(bool __x) {
if (_M_finish._M_p != _M_end_of_storage)
*_M_finish++ = __x;
else
_M_insert_aux(end(), __x);
}
void swap(vector<bool, _Alloc>& __x) {
std::swap(_M_start, __x._M_start);
std::swap(_M_finish, __x._M_finish);
std::swap(_M_end_of_storage, __x._M_end_of_storage);
}
iterator insert(iterator __position, bool __x = bool()) {
difference_type __n = __position - begin();
if (_M_finish._M_p != _M_end_of_storage && __position == end())
*_M_finish++ = __x;
else
_M_insert_aux(__position, __x);
return begin() + __n;
}
template <class _Integer>
void _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __x,
__true_type) {
_M_fill_insert(__pos, __n, __x);
}
template <class _InputIterator>
void _M_insert_dispatch(iterator __pos,
_InputIterator __first, _InputIterator __last,
__false_type) {
_M_insert_range(__pos, __first, __last, __iterator_category(__first));
}
template <class _InputIterator>
void insert(iterator __position,
_InputIterator __first, _InputIterator __last) {
typedef typename _Is_integer<_InputIterator>::_Integral _Integral;
_M_insert_dispatch(__position, __first, __last, _Integral());
}
void _M_fill_insert(iterator __position, size_type __n, bool __x) {
if (__n == 0) return;
if (capacity() - size() >= __n) {
copy_backward(__position, end(), _M_finish + difference_type(__n));
fill(__position, __position + difference_type(__n), __x);
_M_finish += difference_type(__n);
}
else {
size_type __len = size() + max(size(), __n);
unsigned int* __q = _M_bit_alloc(__len);
iterator __i = copy(begin(), __position, iterator(__q, 0));
fill_n(__i, __n, __x);
_M_finish = copy(__position, end(), __i + difference_type(__n));
_M_deallocate();
_M_end_of_storage = __q + (__len + __WORD_BIT - 1)/__WORD_BIT;
_M_start = iterator(__q, 0);
}
}
void insert(iterator __position, size_type __n, bool __x) {
_M_fill_insert(__position, __n, __x);
}
void pop_back() { --_M_finish; }
iterator erase(iterator __position) {
if (__position + 1 != end())
copy(__position + 1, end(), __position);
--_M_finish;
return __position;
}
iterator erase(iterator __first, iterator __last) {
_M_finish = copy(__last, end(), __first);
return __first;
}
void resize(size_type __new_size, bool __x = bool()) {
if (__new_size < size())
erase(begin() + difference_type(__new_size), end());
else
insert(end(), __new_size - size(), __x);
}
void flip() {
for (unsigned int* __p = _M_start._M_p; __p != _M_end_of_storage; ++__p)
*__p = ~*__p;
}
void clear() { erase(begin(), end()); }
};
typedef vector<bool, alloc> bit_vector;
}
# 68 "/opt/egcs/include/g++-v3/bits/std_vector.h" 2 3
# 44 "/opt/egcs/include/g++-v3/bits/locale_facets.tcc" 2 3
namespace std
{
template<typename _Facet>
locale
locale::combine(const locale& __other)
{
_Impl* __tmp = new _Impl(*_M_impl, 1);
__tmp->_M_replace_facet(__other._M_impl, &_Facet::id);
return locale(__tmp);
}
template<typename _CharT, typename _Traits, typename _Alloc>
bool
locale::operator()(const basic_string<_CharT, _Traits, _Alloc>& __s1,
const basic_string<_CharT, _Traits, _Alloc>& __s2) const
{
typedef std::collate<_CharT> __collate_type;
const __collate_type* __fcoll = &use_facet<__collate_type>(*this);
return (__fcoll->compare(__s1.data(), __s1.data() + __s1.length(),
__s2.data(), __s2.data() + __s2.length()) < 0);
}
template<typename _Facet>
const _Facet&
use_facet(const locale& __loc)
{
typedef locale::_Impl::__vec_facet __vec_facet;
size_t __i = _Facet::id._M_index;
__vec_facet* __facet = __loc._M_impl->_M_facets;
const locale::facet* __fp = (*__facet)[__i];
if (__fp == 0 || __i >= __facet->size())
__throw_bad_cast();
return static_cast<const _Facet&>(*__fp);
}
template<typename _Facet>
bool
has_facet(const locale& __loc) throw()
{
typedef locale::_Impl::__vec_facet __vec_facet;
size_t __i = _Facet::id._M_index;
__vec_facet* __facet = __loc._M_impl->_M_facets;
return (__i < __facet->size() && (*__facet)[__i] != 0);
}
template<typename _InIter, typename _CharT>
_InIter
__match_parallel(_InIter __s, _InIter __end, int __ntargs,
const basic_string<_CharT>* __targets,
int* __matches, int& __remain, bool& __eof)
{
typedef basic_string<_CharT> __string_type;
__eof = false;
for (int __ti = 0; __ti < __ntargs; ++__ti)
__matches[__ti] = __ti;
__remain = __ntargs;
size_t __pos = 0;
do
{
int __ti = 0;
while (__ti < __remain && __pos == __targets[__matches[__ti]].size())
++__ti;
if (__ti == __remain)
{
if (__pos == 0) __remain = 0;
return __s;
}
if (__s == __end)
__eof = true;
bool __matched = false;
for (int __ti2 = 0; __ti2 < __remain; )
{
const __string_type& __target = __targets[__matches[__ti2]];
if (__pos < __target.size())
{
if (__eof || __target[__pos] != *__s)
{
__matches[__ti2] = __matches[--__remain];
continue;
}
__matched = true;
}
++__ti2;
}
if (__matched)
{
++__s;
++__pos;
}
for (int __ti3 = 0; __ti3 < __remain;)
{
if (__pos > __targets[__matches[__ti3]].size())
{
__matches[__ti3] = __matches[--__remain];
continue;
}
++__ti3;
}
}
while (__remain);
return __s;
}
template<typename _CharT>
_Format_cache<_CharT>::_Format_cache()
: _M_valid(true), _M_use_grouping(false)
{ }
template<>
_Format_cache<char>::_Format_cache();
template<>
_Format_cache<wchar_t>::_Format_cache();
template<typename _CharT>
void
_Format_cache<_CharT>::_M_populate(ios_base& __io)
{
locale __loc = __io.getloc ();
numpunct<_CharT> const& __np = use_facet<numpunct<_CharT> >(__loc);
_M_truename = __np.truename();
_M_falsename = __np.falsename();
_M_thousands_sep = __np.thousands_sep();
_M_decimal_point = __np.decimal_point();
_M_grouping = __np.grouping();
_M_use_grouping = _M_grouping.size() != 0 && _M_grouping.data()[0] != 0;
_M_valid = true;
}
template<typename _CharT>
void
_Format_cache<_CharT>::
_S_callback(ios_base::event __ev, ios_base& __ios, int __ix) throw()
{
void*& __p = __ios.pword(__ix);
switch (__ev)
{
case ios_base::erase_event:
delete static_cast<_Format_cache<_CharT>*>(__p);
__p = 0;
break;
case ios_base::copyfmt_event:
try
{ __p = new _Format_cache<_CharT>; }
catch(...)
{ }
break;
case ios_base::imbue_event:
static_cast<_Format_cache<_CharT>*>(__p)->_M_valid = false;
break;
}
}
template<typename _CharT>
_Format_cache<_CharT>*
_Format_cache<_CharT>::_S_get(ios_base& __ios)
{
if (!_S_pword_ix)
_S_pword_ix = ios_base::xalloc();
void*& __p = __ios.pword(_S_pword_ix);
if (__p == 0)
{
auto_ptr<_Format_cache<_CharT> > __ap(new _Format_cache<_CharT>);
__ios.register_callback(&_Format_cache<_CharT>::_S_callback,
_S_pword_ix);
__p = __ap.release();
}
_Format_cache<_CharT>* __ncp = static_cast<_Format_cache<_CharT>*>(__p);
if (!__ncp->_M_valid)
__ncp->_M_populate(__ios);
return __ncp;
}
# 249 "/opt/egcs/include/g++-v3/bits/locale_facets.tcc" 3
template<typename _CharT, typename _InIter>
void
num_get<_CharT, _InIter>::
_M_extract(_InIter , _InIter , ios_base& ,
ios_base::iostate& , char* ,
int& , bool ) const
{
}
template<>
void
num_get<char, istreambuf_iterator<char> >::
_M_extract(istreambuf_iterator<char> __beg,
istreambuf_iterator<char> __end, ios_base& __io,
ios_base::iostate& __err, char* __xtrc, int& __base,
bool __fp) const;
template<typename _CharT, typename _InIter>
_InIter
num_get<_CharT, _InIter>::
do_get(iter_type __beg, iter_type __end, ios_base& __io,
ios_base::iostate& __err, bool& __v) const
{
if (!(__io.flags() & ios_base::boolalpha))
{
char __xtrc[32] = {'\0'};
int __base;
_M_extract(__beg, __end, __io, __err, __xtrc, __base, false);
char* __sanity;
(*__errno_location ()) = 0;
long __l = strtol(__xtrc, &__sanity, __base);
if (!(__err & ios_base::failbit)
&& __l <= 1
&& __sanity != __xtrc && *__sanity == '\0' && (*__errno_location ()) == 0)
__v = __l;
else
__err |= ios_base::failbit;
}
else
{
typedef _Format_cache<char_type> __fcache_type;
__fcache_type* __fmt = __fcache_type::_S_get(__io);
const char_type* __true = __fmt->_M_truename.c_str();
const char_type* __false = __fmt->_M_falsename.c_str();
const size_t __truelen = __traits_type::length(__true) - 1;
const size_t __falselen = __traits_type::length(__false) - 1;
for (size_t __pos = 0; __beg != __end; ++__pos)
{
char_type __c = *__beg++;
bool __testf = __c == __false[__pos];
bool __testt = __c == __true[__pos];
if (!(__testf || __testt))
{
__err |= ios_base::failbit;
break;
}
else if (__testf && __pos == __falselen)
{
__v = 0;
break;
}
else if (__testt && __pos == __truelen)
{
__v = 1;
break;
}
}
if (__beg == __end)
__err |= ios_base::eofbit;
}
return __beg;
}
template<typename _CharT, typename _InIter>
_InIter
num_get<_CharT, _InIter>::
do_get(iter_type __beg, iter_type __end, ios_base& __io,
ios_base::iostate& __err, short& __v) const
{
char __xtrc[32]= {'\0'};
int __base;
_M_extract(__beg, __end, __io, __err, __xtrc, __base, false);
char* __sanity;
(*__errno_location ()) = 0;
long __l = strtol(__xtrc, &__sanity, __base);
if (!(__err & ios_base::failbit)
&& __sanity != __xtrc && *__sanity == '\0' && (*__errno_location ()) == 0
&& __l >= (-32767 -1) && __l <= 32767)
__v = static_cast<short>(__l);
else
__err |= ios_base::failbit;
return __beg;
}
template<typename _CharT, typename _InIter>
_InIter
num_get<_CharT, _InIter>::
do_get(iter_type __beg, iter_type __end, ios_base& __io,
ios_base::iostate& __err, int& __v) const
{
char __xtrc[32] = {'\0'};
int __base;
_M_extract(__beg, __end, __io, __err, __xtrc, __base, false);
char* __sanity;
(*__errno_location ()) = 0;
long __l = strtol(__xtrc, &__sanity, __base);
if (!(__err & ios_base::failbit)
&& __sanity != __xtrc && *__sanity == '\0' && (*__errno_location ()) == 0
&& __l >= (-2147483647 -1) && __l <= 2147483647)
__v = static_cast<int>(__l);
else
__err |= ios_base::failbit;
return __beg;
}
template<typename _CharT, typename _InIter>
_InIter
num_get<_CharT, _InIter>::
do_get(iter_type __beg, iter_type __end, ios_base& __io,
ios_base::iostate& __err, long& __v) const
{
char __xtrc[32]= {'\0'};
int __base;
_M_extract(__beg, __end, __io, __err, __xtrc, __base, false);
char* __sanity;
(*__errno_location ()) = 0;
long __l = strtol(__xtrc, &__sanity, __base);
if (!(__err & ios_base::failbit)
&& __sanity != __xtrc && *__sanity == '\0' && (*__errno_location ()) == 0)
__v = __l;
else
__err |= ios_base::failbit;
return __beg;
}
template<typename _CharT, typename _InIter>
_InIter
num_get<_CharT, _InIter>::
do_get(iter_type __beg, iter_type __end, ios_base& __io,
ios_base::iostate& __err, long long& __v) const
{
char __xtrc[32]= {'\0'};
int __base;
_M_extract(__beg, __end, __io, __err, __xtrc, __base, false);
char* __sanity;
(*__errno_location ()) = 0;
long long __ll = strtoll(__xtrc, &__sanity, __base);
if (!(__err & ios_base::failbit)
&& __sanity != __xtrc && *__sanity == '\0' && (*__errno_location ()) == 0)
__v = __ll;
else
__err |= ios_base::failbit;
return __beg;
}
template<typename _CharT, typename _InIter>
_InIter
num_get<_CharT, _InIter>::
do_get(iter_type __beg, iter_type __end, ios_base& __io,
ios_base::iostate& __err, unsigned short& __v) const
{
char __xtrc[32]= {'\0'};
int __base;
_M_extract(__beg, __end, __io, __err, __xtrc, __base, false);
char* __sanity;
(*__errno_location ()) = 0;
unsigned long __ul = strtoul(__xtrc, &__sanity, __base);
if (!(__err & ios_base::failbit)
&& __sanity != __xtrc && *__sanity == '\0' && (*__errno_location ()) == 0
&& __ul <= (32767 * 2 + 1))
__v = static_cast<unsigned short>(__ul);
else
__err |= ios_base::failbit;
return __beg;
}
template<typename _CharT, typename _InIter>
_InIter
num_get<_CharT, _InIter>::
do_get(iter_type __beg, iter_type __end, ios_base& __io,
ios_base::iostate& __err, unsigned int& __v) const
{
char __xtrc[32]= {'\0'};
int __base;
_M_extract(__beg, __end, __io, __err, __xtrc, __base, false);
char* __sanity;
(*__errno_location ()) = 0;
unsigned long __ul = strtoul(__xtrc, &__sanity, __base);
if (!(__err & ios_base::failbit)
&& __sanity != __xtrc && *__sanity == '\0' && (*__errno_location ()) == 0
&& __ul <= (2147483647 * 2U + 1))
__v = static_cast<unsigned int>(__ul);
else
__err |= ios_base::failbit;
return __beg;
}
template<typename _CharT, typename _InIter>
_InIter
num_get<_CharT, _InIter>::
do_get(iter_type __beg, iter_type __end, ios_base& __io,
ios_base::iostate& __err, unsigned long& __v) const
{
char __xtrc[32] = {'\0'};
int __base;
_M_extract(__beg, __end, __io, __err, __xtrc, __base, false);
char* __sanity;
(*__errno_location ()) = 0;
unsigned long __ul = strtoul(__xtrc, &__sanity, __base);
if (!(__err & ios_base::failbit)
&& __sanity != __xtrc && *__sanity == '\0' && (*__errno_location ()) == 0)
__v = __ul;
else
__err |= ios_base::failbit;
return __beg;
}
template<typename _CharT, typename _InIter>
_InIter
num_get<_CharT, _InIter>::
do_get(iter_type __beg, iter_type __end, ios_base& __io,
ios_base::iostate& __err, unsigned long long& __v) const
{
char __xtrc[32]= {'\0'};
int __base;
_M_extract(__beg, __end, __io, __err, __xtrc, __base, false);
char* __sanity;
(*__errno_location ()) = 0;
unsigned long long __ull = strtoull(__xtrc, &__sanity, __base);
if (!(__err & ios_base::failbit)
&& __sanity != __xtrc && *__sanity == '\0' && (*__errno_location ()) == 0)
__v = __ull;
else
__err |= ios_base::failbit;
return __beg;
}
template<typename _CharT, typename _InIter>
_InIter
num_get<_CharT, _InIter>::
do_get(iter_type __beg, iter_type __end, ios_base& __io,
ios_base::iostate& __err, float& __v) const
{
char __xtrc[32]= {'\0'};
int __base;
_M_extract(__beg, __end, __io, __err, __xtrc, __base, true);
char* __sanity;
(*__errno_location ()) = 0;
float __f = strtof(__xtrc, &__sanity);
if (!(__err & ios_base::failbit)
&& __sanity != __xtrc && *__sanity == '\0' && (*__errno_location ()) == 0)
__v = __f;
else
__err |= ios_base::failbit;
return __beg;
}
template<typename _CharT, typename _InIter>
_InIter
num_get<_CharT, _InIter>::
do_get(iter_type __beg, iter_type __end, ios_base& __io,
ios_base::iostate& __err, double& __v) const
{
char __xtrc[32]= {'\0'};
int __base;
_M_extract(__beg, __end, __io, __err, __xtrc, __base, true);
char* __sanity;
(*__errno_location ()) = 0;
double __d = strtod(__xtrc, &__sanity);
if (!(__err & ios_base::failbit)
&& __sanity != __xtrc && *__sanity == '\0' && (*__errno_location ()) == 0)
__v = __d;
else
__err |= ios_base::failbit;
return __beg;
}
template<typename _CharT, typename _InIter>
_InIter
num_get<_CharT, _InIter>::
do_get(iter_type __beg, iter_type __end, ios_base& __io,
ios_base::iostate& __err, long double& __v) const
{
char __xtrc[32]= {'\0'};
int __base;
_M_extract(__beg, __end, __io, __err, __xtrc, __base, true);
char* __sanity;
(*__errno_location ()) = 0;
long double __ld = strtold(__xtrc, &__sanity);
if (!(__err & ios_base::failbit)
&& __sanity != __xtrc && *__sanity == '\0' && (*__errno_location ()) == 0)
__v = __ld;
else
__err |= ios_base::failbit;
return __beg;
}
# 677 "/opt/egcs/include/g++-v3/bits/locale_facets.tcc" 3
template<typename _CharT, typename _InIter>
_InIter
num_get<_CharT, _InIter>::
do_get(iter_type __beg, iter_type __end, ios_base& __io,
ios_base::iostate& __err, void*& __v) const
{
typedef ios_base::fmtflags fmtflags;
fmtflags __fmt = __io.flags();
fmtflags __fmtmask = ~(ios_base::showpos | ios_base::basefield
| ios_base::uppercase | ios_base::internal);
__io.flags(__fmt & __fmtmask | (ios_base::hex | ios_base::showbase));
char __xtrc[32]= {'\0'};
int __base;
_M_extract(__beg, __end, __io, __err, __xtrc, __base, false);
char* __sanity;
(*__errno_location ()) = 0;
void* __vp = reinterpret_cast<void*>(strtoul(__xtrc, &__sanity, __base));
if (!(__err & ios_base::failbit)
&& __sanity != __xtrc && *__sanity == '\0' && (*__errno_location ()) == 0)
__v = __vp;
else
__err |= ios_base::failbit;
__io.flags(__fmt);
return __beg;
}
template <typename _CharT, typename _OutIter>
inline _OutIter
__pad(_OutIter __s, _CharT __fill, int __padding);
template <typename _CharT, typename _RaIter>
_RaIter
__pad(_RaIter __s, _CharT __fill, int __padding,
random_access_iterator_tag)
{
fill_n(__s, __fill);
return __s + __padding;
}
template <typename _CharT, typename _OutIter, typename _Tag>
_OutIter
__pad(_OutIter __s, _CharT __fill, int __padding, _Tag)
{
while (--__padding >= 0) { *__s = __fill; ++__s; }
return __s;
}
template <typename _CharT, typename _OutIter>
inline _OutIter
__pad(_OutIter __s, _CharT __fill, int __padding)
{
return __pad(__s, __fill, __padding,
typename iterator_traits<_OutIter>::iterator_category());
}
template <typename _CharT, typename _OutIter>
_OutIter
__pad_numeric(_OutIter __s, ios_base::fmtflags ,
_CharT , int ,
_CharT const* , _CharT const* ,
_CharT const* )
{
return __s;
}
template <typename _CharT>
ostreambuf_iterator<_CharT>
__pad_numeric(ostreambuf_iterator<_CharT> __s, ios_base::fmtflags __flags,
_CharT __fill, int __width, _CharT const* __first,
_CharT const* __middle, _CharT const* __last)
{
typedef ostreambuf_iterator<_CharT> __out_iter;
int __padding = __width - (__last - __first);
if (__padding < 0)
__padding = 0;
ios_base::fmtflags __aflags = __flags & ios_base::adjustfield;
bool __testfield = __padding == 0 || __aflags == ios_base::left
|| __aflags == ios_base::internal;
if (__first != __middle)
{
if (!__testfield)
{
__pad(__s, __fill, __padding);
__padding = 0;
}
copy(__first, __middle, __s);
}
__out_iter __s2 = __s;
if (__padding && __aflags != ios_base::left)
{
__pad(__s2, __fill, __padding);
__padding = 0;
}
__out_iter __s3 = copy(__middle, __last, __s2);
if (__padding)
__pad(__s3, __fill, __padding);
return __s3;
}
template <typename _CharT, typename _OutIter>
_OutIter
num_put<_CharT, _OutIter>::
do_put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const
{
const _Format_cache<_CharT>* __fmt = _Format_cache<_CharT>::_S_get(__io);
ios_base::fmtflags __flags = __io.flags();
if ((__flags & ios_base::boolalpha) == 0)
{
unsigned long __uv = __v;
return __output_integer(__s, __io, __fill, false, __uv);
}
else
{
const char_type* __first;
const char_type* __last;
if (__v)
{
__first = __fmt->_M_truename.data();
__last = __first + __fmt->_M_truename.size();
}
else
{
__first = __fmt->_M_falsename.data();
__last = __first + __fmt->_M_falsename.size();
}
copy(__first, __last, __s);
}
return __s;
}
template <typename _CharT>
_CharT*
__group_digits(_CharT* __s, _CharT __grsep, char const* __grouping,
char const* __grend, _CharT const* __first,
_CharT const* __last)
{
if (__last - __first > *__grouping)
{
__s = __group_digits(__s, __grsep,
(__grouping + 1 == __grend ? __grouping : __grouping + 1),
__grend, __first, __last - *__grouping);
__first = __last - *__grouping;
*__s++ = __grsep;
}
do
{
*__s++ = *__first++;
}
while (__first != __last);
return __s;
}
template <typename _CharT, typename _OutIter, typename _ValueT>
_OutIter
__output_integer(_OutIter __s, ios_base& __io, _CharT __fill, bool __neg,
_ValueT __v)
{
const long _M_room = numeric_limits<_ValueT>::digits10 * 2 + 4;
_CharT __digits[_M_room];
_CharT* __front = __digits + _M_room;
ios_base::fmtflags __flags = __io.flags();
const _Format_cache<_CharT>* __fmt = _Format_cache<_CharT>::_S_get(__io);
char const* __table = __fmt->_S_literals + __fmt->_S_digits;
ios_base::fmtflags __basefield = (__flags & __io.basefield);
_CharT* __sign_end = __front;
if (__basefield == ios_base::hex)
{
if (__flags & ios_base::uppercase)
__table += 16;
do
*--__front = __table[__v & 15];
while ((__v >>= 4) != 0);
__sign_end = __front;
if (__flags & ios_base::showbase)
{
*--__front = __fmt->_S_literals[__fmt->_S_x +
((__flags & ios_base::uppercase) ? 1 : 0)];
*--__front = __table[0];
}
}
else if (__basefield == ios_base::oct)
{
do
*--__front = __table[__v & 7];
while ((__v >>= 3) != 0);
if (__flags & ios_base::showbase
&& static_cast<char>(*__front) != __table[0])
*--__front = __table[0];
__sign_end = __front;
}
else
{
do
*--__front = __table[__v % 10];
while ((__v /= 10) != 0);
__sign_end = __front;
if (__neg || (__flags & ios_base::showpos))
*--__front = __fmt->_S_literals[__fmt->_S_plus - __neg];
}
if (!__fmt->_M_use_grouping && !__io.width())
return copy(__front, __digits + _M_room, __s);
if (!__fmt->_M_use_grouping)
return __pad_numeric(__s, __flags, __fill, __io.width(0),
__front, __sign_end, __digits + _M_room);
_CharT* __p = __digits;
while (__front < __sign_end)
*__p++ = *__front++;
const char* __gr = __fmt->_M_grouping.data();
__front = __group_digits(__p, __fmt->_M_thousands_sep, __gr,
__gr + __fmt->_M_grouping.size(), __sign_end, __digits + _M_room);
return __pad_numeric(__s, __flags, __fill, __io.width(0),
__digits, __p, __front);
}
template <typename _CharT, typename _OutIter>
_OutIter
num_put<_CharT, _OutIter>::
do_put(iter_type __s, ios_base& __io, char_type __fill, long __v) const
{
unsigned long __uv = __v;
bool __neg = false;
if (__v < 0)
{
__neg = true;
__uv = -__uv;
}
return __output_integer(__s, __io, __fill, __neg, __uv);
}
template <typename _CharT, typename _OutIter>
_OutIter
num_put<_CharT, _OutIter>::
do_put(iter_type __s, ios_base& __io, char_type __fill,
unsigned long __v) const
{ return __output_integer(__s, __io, __fill, false, __v); }
template <typename _CharT, typename _OutIter>
_OutIter
num_put<_CharT, _OutIter>::
do_put(iter_type __s, ios_base& __b, char_type __fill, long long __v) const
{
unsigned long long __uv = __v;
bool __neg = false;
if (__v < 0)
{
__neg = true;
__uv = -__uv;
}
return __output_integer(__s, __b, __fill, __neg, __uv);
}
template <typename _CharT, typename _OutIter>
_OutIter
num_put<_CharT, _OutIter>::
do_put(iter_type __s, ios_base& __io, char_type __fill,
unsigned long long __v) const
{ return __output_integer(__s, __io, __fill, false, __v); }
template<typename _CharT, typename _Traits, typename _OutIter>
_OutIter
__output_float(_OutIter __s, ios_base& __io, _CharT __fill,
const char* __sptr, size_t __slen)
{
return __s;
}
template<typename _CharT, typename _Traits>
ostreambuf_iterator<_CharT, _Traits>
__output_float(ostreambuf_iterator<_CharT, _Traits> __s, ios_base& __io,
_CharT __fill, const char* __sptr, size_t __slen)
{
size_t __padding = __io.width() > streamsize(__slen) ?
__io.width() -__slen : 0;
locale __loc = __io.getloc();
ctype<_CharT> const& __ct = use_facet<ctype<_CharT> >(__loc);
ios_base::fmtflags __adjfield = __io.flags() & ios_base::adjustfield;
const char* const __eptr = __sptr + __slen;
if (__adjfield == ios_base::internal)
{
if (__sptr < __eptr && (*__sptr == '+' || *__sptr == '-'))
{
__s = __ct.widen(*__sptr);
++__s;
++__sptr;
}
__s = __pad(__s, __fill, __padding);
__padding = 0;
}
else if (__adjfield != ios_base::left)
{
__s = __pad(__s, __fill, __padding);
__padding = 0;
}
char __decimal_point = *(localeconv()->decimal_point);
const _Format_cache<_CharT>* __fmt = _Format_cache<_CharT>::_S_get(__io);
for (; __sptr != __eptr; ++__s, ++__sptr)
{
if (*__sptr == __decimal_point)
__s = __fmt->_M_decimal_point;
else
__s = __ct.widen(*__sptr);
}
if (__padding)
__pad(__s, __fill, __padding);
__io.width(0);
return __s;
}
bool
__build_float_format(ios_base& __io, char* __fptr, char __modifier,
streamsize __prec);
template <typename _CharT, typename _OutIter>
_OutIter
num_put<_CharT, _OutIter>::
do_put(iter_type __s, ios_base& __io, char_type __fill, double __v) const
{
const streamsize __max_prec = numeric_limits<double>::digits10 + 3;
streamsize __prec = __io.precision();
if (__prec > __max_prec)
__prec = __max_prec;
char __sbuf[__max_prec * 2];
size_t __slen;
char __fbuf[16];
if (__build_float_format(__io, __fbuf, 0, __prec))
__slen = sprintf(__sbuf, __fbuf, __prec, __v);
else
__slen = sprintf(__sbuf, __fbuf, __v);
return __output_float(__s, __io, __fill, __sbuf, __slen);
}
template <typename _CharT, typename _OutIter>
_OutIter
num_put<_CharT, _OutIter>::
do_put(iter_type __s, ios_base& __io, char_type __fill,
long double __v) const
{
const streamsize __max_prec = numeric_limits<long double>::digits10 + 3;
streamsize __prec = __io.precision();
if (__prec > __max_prec)
__prec = __max_prec;
char __sbuf[__max_prec * 2];
size_t __slen;
char __fbuf[16];
if (__build_float_format(__io, __fbuf, 'L', __prec))
__slen = sprintf(__sbuf, __fbuf, __prec, __v);
else
__slen = sprintf(__sbuf, __fbuf, __v);
return __output_float(__s, __io, __fill, __sbuf, __slen);
}
template <typename _CharT, typename _OutIter>
_OutIter
num_put<_CharT, _OutIter>::
do_put(iter_type __s, ios_base& __io, char_type __fill,
const void* __v) const
{
typedef ios_base::fmtflags fmtflags;
fmtflags __fmt = __io.flags();
fmtflags __fmtmask = ~(ios_base::showpos | ios_base::basefield
| ios_base::uppercase | ios_base::internal);
__io.flags(__fmt & __fmtmask | (ios_base::hex | ios_base::showbase));
try {
_OutIter __s2 = __output_integer(__s, __io, __fill, false,
reinterpret_cast<unsigned long>(__v));
__io.flags(__fmt);
return __s2;
}
catch (...) {
__io.flags(__fmt);
throw;
}
}
template<typename _CharT, typename _Dummy = int>
struct _Weekdaynames;
template<typename _Dummy>
struct _Weekdaynames<char, _Dummy>
{ static const char* const _S_names[14]; };
template<typename _Dummy>
const char* const
_Weekdaynames<char, _Dummy>::_S_names[14] =
{
"Sun", "Sunday",
"Mon", "Monday", "Tue", "Tuesday", "Wed", "Wednesday",
"Thu", "Thursday", "Fri", "Friday", "Sat", "Saturday"
};
template<typename _Dummy>
struct _Weekdaynames<wchar_t, _Dummy>
{ static const wchar_t* const _S_names[14]; };
template<typename _Dummy>
const wchar_t* const
_Weekdaynames<wchar_t, _Dummy>::_S_names[14] =
{
L"Sun", L"Sunday",
L"Mon", L"Monday", L"Tue", L"Tuesday", L"Wed", L"Wednesday",
L"Thu", L"Thursday", L"Fri", L"Friday", L"Sat", L"Saturday"
};
template<typename _CharT, typename _Dummy = int>
struct _Monthnames;
template<typename _Dummy>
struct _Monthnames<char,_Dummy>
{ static const char* const _S_names[24]; };
template<typename _Dummy>
const char* const
_Monthnames<char,_Dummy>::_S_names[24] =
{
"Jan", "January", "Feb", "February", "Mar", "March",
"Apr", "April", "May", "May", "Jun", "June",
"Jul", "July", "Aug", "August", "Sep", "September",
"Oct", "October", "Nov", "November", "Dec", "December"
};
template<typename _Dummy>
struct _Monthnames<wchar_t, _Dummy>
{ static const wchar_t* const _S_names[24]; };
template<typename _Dummy>
const wchar_t* const
_Monthnames<wchar_t,_Dummy>::_S_names[24] =
{
L"Jan", L"January", L"Feb", L"February", L"Mar", L"March",
L"Apr", L"April", L"May", L"May", L"Jun", L"June",
L"Jul", L"July", L"Aug", L"August", L"Sep", L"September",
L"Oct", L"October", L"Nov", L"November", L"Dec", L"December"
};
template<typename _CharT, typename _InIter>
_InIter
time_get<_CharT, _InIter>::
do_get_weekday(iter_type __s, iter_type __end,
ios_base& __io, ios_base::iostate& __err, tm* __t) const
{
if (!_M_daynames)
{
_M_daynames = new basic_string<_CharT>[14];
for (int __i = 0; __i < 14; ++__i)
_M_daynames[__i] = _Weekdaynames<_CharT>::_S_names[__i];
}
bool __at_eof = false;
int __remain = 0;
int __matches[14];
iter_type __out = __match_parallel(__s, __end, 14, _M_daynames,
__matches, __remain, __at_eof);
__err = ios_base::iostate(0);
if (__at_eof) __err |= __io.eofbit;
if (__remain == 1 ||
__remain == 2 && (__matches[0]>>1) == (__matches[1]>>1))
__t->tm_wday = (__matches[0]>>1);
else
__err |= __io.failbit;
return __out;
}
template<typename _CharT, typename _InIter>
_InIter
time_get<_CharT, _InIter>::
do_get_monthname(iter_type __s, iter_type __end,
ios_base& __io, ios_base::iostate& __err, tm* __t) const
{
if (!_M_monthnames)
{
_M_monthnames = new basic_string<_CharT>[24];
for (int __i = 0; __i < 24; ++__i)
_M_monthnames[__i] = _Monthnames<_CharT>::_S_names[__i];
}
bool __at_eof = false;
int __remain = 0;
int __matches[24];
iter_type __out = __match_parallel( __s, __end, 24, _M_monthnames,
__matches, __remain, __at_eof);
__err = ios_base::iostate(0);
if (__at_eof) __err |= __io.eofbit;
if (__remain == 1 ||
__remain == 2 && (__matches[0]>>1) == (__matches[1]>>1))
__t->tm_mon = (__matches[0]>>1);
else
__err |= __io.failbit;
return __out;
}
}
# 42 "/opt/egcs/include/g++-v3/bits/std_locale.h" 2 3
# 33 "/opt/egcs/include/g++-v3/bits/ostream.tcc" 2 3
namespace std
{
template<typename _CharT, typename _Traits>
basic_ostream<_CharT, _Traits>::sentry::
sentry(basic_ostream<_CharT,_Traits>& __os)
: _M_ok(__os.good()), _M_os(__os)
{
if (_M_ok && __os.tie())
__os.tie()->flush();
}
template<typename _CharT, typename _Traits>
basic_ostream<_CharT, _Traits>&
basic_ostream<_CharT, _Traits>::
operator<<(__ostream_type& (*__pf)(__ostream_type&))
{
sentry __cerb(*this);
if (__cerb)
{
try
{ __pf(*this); }
catch(exception& __fail)
{
this->setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
throw;
}
}
return *this;
}
template<typename _CharT, typename _Traits>
basic_ostream<_CharT, _Traits>&
basic_ostream<_CharT, _Traits>::
operator<<(__ios_type& (*__pf)(__ios_type&))
{
sentry __cerb(*this);
if (__cerb)
{
try
{ __pf(*this); }
catch(exception& __fail)
{
this->setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
throw;
}
}
return *this;
}
template<typename _CharT, typename _Traits>
basic_ostream<_CharT, _Traits>&
basic_ostream<_CharT, _Traits>::
operator<<(ios_base& (*__pf)(ios_base&))
{
sentry __cerb(*this);
if (__cerb)
{
try
{ __pf(*this); }
catch(exception& __fail)
{
this->setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
throw;
}
}
return *this;
}
template<typename _CharT, typename _Traits>
basic_ostream<_CharT, _Traits>&
basic_ostream<_CharT, _Traits>::operator<<(bool __n)
{
sentry __cerb(*this);
if (__cerb)
{
try
{
if (_M_check_facet(_M_fnumput))
if (_M_fnumput->put(*this, *this, this->fill(), __n).failed())
this->setstate(ios_base::badbit);
}
catch(exception& __fail)
{
this->setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
throw;
}
}
return *this;
}
template<typename _CharT, typename _Traits>
basic_ostream<_CharT, _Traits>&
basic_ostream<_CharT, _Traits>::operator<<(long __n)
{
sentry __cerb(*this);
if (__cerb)
{
try
{
char_type __c = this->fill();
ios_base::fmtflags __fmt = this->flags() & ios_base::basefield;
if (_M_check_facet(_M_fnumput))
{
bool __b = false;
if (__fmt & ios_base::oct || __fmt & ios_base::hex)
{
unsigned long __l = static_cast<unsigned long>(__n);
__b = _M_fnumput->put(*this, *this, __c, __l).failed();
}
else
__b = _M_fnumput->put(*this, *this, __c, __n).failed();
if (__b)
this->setstate(ios_base::badbit);
}
}
catch(exception& __fail)
{
this->setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
throw;
}
}
return *this;
}
template<typename _CharT, typename _Traits>
basic_ostream<_CharT, _Traits>&
basic_ostream<_CharT, _Traits>::operator<<(unsigned long __n)
{
sentry __cerb(*this);
if (__cerb)
{
try
{
if (_M_check_facet(_M_fnumput))
if (_M_fnumput->put(*this, *this, this->fill(), __n).failed())
this->setstate(ios_base::badbit);
}
catch(exception& __fail)
{
this->setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
throw;
}
}
return *this;
}
template<typename _CharT, typename _Traits>
basic_ostream<_CharT, _Traits>&
basic_ostream<_CharT, _Traits>::operator<<(long long __n)
{
sentry __cerb(*this);
if (__cerb)
{
try
{
char_type __c = this->fill();
ios_base::fmtflags __fmt = this->flags() & ios_base::basefield;
if (_M_check_facet(_M_fnumput))
{
bool __b = false;
if (__fmt & ios_base::oct || __fmt & ios_base::hex)
{
unsigned long long __l;
__l = static_cast<unsigned long long>(__n);
__b = _M_fnumput->put(*this, *this, __c, __l).failed();
}
else
__b = _M_fnumput->put(*this, *this, __c, __n).failed();
if (__b)
this->setstate(ios_base::badbit);
}
}
catch(exception& __fail)
{
this->setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
throw;
}
}
return *this;
}
template<typename _CharT, typename _Traits>
basic_ostream<_CharT, _Traits>&
basic_ostream<_CharT, _Traits>::operator<<(unsigned long long __n)
{
sentry __cerb(*this);
if (__cerb)
{
try
{
if (_M_check_facet(_M_fnumput))
if (_M_fnumput->put(*this, *this, this->fill(), __n).failed())
this->setstate(ios_base::badbit);
}
catch(exception& __fail)
{
this->setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
throw;
}
}
return *this;
}
template<typename _CharT, typename _Traits>
basic_ostream<_CharT, _Traits>&
basic_ostream<_CharT, _Traits>::operator<<(double __n)
{
sentry __cerb(*this);
if (__cerb)
{
try
{
if (_M_check_facet(_M_fnumput))
if (_M_fnumput->put(*this, *this, this->fill(), __n).failed())
this->setstate(ios_base::badbit);
}
catch(exception& __fail)
{
this->setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
throw;
}
}
return *this;
}
template<typename _CharT, typename _Traits>
basic_ostream<_CharT, _Traits>&
basic_ostream<_CharT, _Traits>::operator<<(long double __n)
{
sentry __cerb(*this);
if (__cerb)
{
try
{
if (_M_check_facet(_M_fnumput))
if (_M_fnumput->put(*this, *this, this->fill(), __n).failed())
this->setstate(ios_base::badbit);
}
catch(exception& __fail)
{
this->setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
throw;
}
}
return *this;
}
template<typename _CharT, typename _Traits>
basic_ostream<_CharT, _Traits>&
basic_ostream<_CharT, _Traits>::operator<<(const void* __n)
{
sentry __cerb(*this);
if (__cerb)
{
try
{
if (_M_check_facet(_M_fnumput))
if (_M_fnumput->put(*this, *this, this->fill(), __n).failed())
this->setstate(ios_base::badbit);
}
catch(exception& __fail)
{
this->setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
throw;
}
}
return *this;
}
template<typename _CharT, typename _Traits>
basic_ostream<_CharT, _Traits>&
basic_ostream<_CharT, _Traits>::operator<<(__streambuf_type* __sbin)
{
streamsize __xtrct = 0;
__streambuf_type* __sbout = this->rdbuf();
sentry __cerb(*this);
if (__sbin && __cerb)
__xtrct = __copy_streambufs(*this, __sbin, __sbout);
if (!__sbin || !__xtrct)
this->setstate(ios_base::failbit);
return *this;
}
template<typename _CharT, typename _Traits>
basic_ostream<_CharT, _Traits>&
basic_ostream<_CharT, _Traits>::put(char_type __c)
{
sentry __cerb(*this);
if (__cerb)
{
int_type __put = rdbuf()->sputc(__c);
if (__put != traits_type::to_int_type(__c))
this->setstate(ios_base::badbit);
}
return *this;
}
template<typename _CharT, typename _Traits>
basic_ostream<_CharT, _Traits>&
basic_ostream<_CharT, _Traits>::write(const _CharT* __s, streamsize __n)
{
sentry __cerb(*this);
if (__cerb)
{
streamsize __put = this->rdbuf()->sputn(__s, __n);
if ( __put != __n)
this->setstate(ios_base::badbit);
}
return *this;
}
template<typename _CharT, typename _Traits>
basic_ostream<_CharT, _Traits>&
basic_ostream<_CharT, _Traits>::flush()
{
sentry __cerb(*this);
if (__cerb)
{
if (this->rdbuf() && this->rdbuf()->pubsync() == -1)
this->setstate(ios_base::badbit);
}
return *this;
}
template<typename _CharT, typename _Traits>
typename basic_ostream<_CharT, _Traits>::pos_type
basic_ostream<_CharT, _Traits>::tellp()
{
pos_type __ret = pos_type(-1);
bool __testok = this->fail() != true;
if (__testok)
__ret = this->rdbuf()->pubseekoff(0, ios_base::cur, ios_base::out);
return __ret;
}
template<typename _CharT, typename _Traits>
basic_ostream<_CharT, _Traits>&
basic_ostream<_CharT, _Traits>::seekp(pos_type __pos)
{
bool __testok = this->fail() != true;
if (__testok)
{
pos_type __err = this->rdbuf()->pubseekpos(__pos, ios_base::out);
if (__err == pos_type(off_type(-1)))
this->setstate(failbit);
}
return *this;
}
template<typename _CharT, typename _Traits>
basic_ostream<_CharT, _Traits>&
basic_ostream<_CharT, _Traits>::
seekp(off_type __off, ios_base::seekdir __d)
{
bool __testok = this->fail() != true;
if (__testok)
{
pos_type __err = this->rdbuf()->pubseekoff(__off, __d,
ios_base::out);
if (__err == pos_type(off_type(-1)))
this->setstate(failbit);
}
return *this;
}
# 457 "/opt/egcs/include/g++-v3/bits/ostream.tcc" 3
template<typename _CharT, typename _Traits>
void
__pad_char(basic_ios<_CharT, _Traits>& __ios,
_CharT* __news, const _CharT* __olds,
const streamsize __newlen, const streamsize __oldlen)
{
typedef _CharT char_type;
typedef _Traits traits_type;
typedef typename traits_type::int_type int_type;
int_type __plen = static_cast<size_t>(__newlen - __oldlen);
char_type* __pads = static_cast<char_type*>(__builtin_alloca(sizeof(char_type) * __plen));
traits_type::assign(__pads, __plen, __ios.fill());
char_type* __beg;
char_type* __end;
size_t __mod = 0;
size_t __beglen;
ios_base::fmtflags __fmt = __ios.flags() & ios_base::adjustfield;
if (__fmt == ios_base::left)
{
__beg = const_cast<char_type*>(__olds);
__beglen = __oldlen;
__end = __pads;
}
else if (__fmt == ios_base::internal)
{
typedef _Format_cache<_CharT> __cache_type;
__cache_type const* __fmt = __cache_type::_S_get(__ios);
const char_type* __minus = traits_type::find(__olds, __oldlen,
__fmt->_S_minus);
const char_type* __plus = traits_type::find(__olds, __oldlen,
__fmt->_S_plus);
bool __testsign = __minus || __plus;
bool __testhex = __olds[0] == '0'
&& (__olds[1] == 'x' || __olds[1] == 'X');
if (__testhex)
{
__news[0] = __olds[0];
__news[1] = __olds[1];
__mod += 2;
__beg = const_cast<char_type*>(__olds + __mod);
__beglen = __oldlen - __mod;
__end = __pads;
}
else if (__testsign)
{
__mod += __plen;
const char_type* __sign = __minus ? __minus + 1: __plus + 1;
__beg = const_cast<char_type*>(__olds);
__beglen = __sign - __olds;
__end = const_cast<char_type*>(__sign + __plen);
traits_type::copy(__news + __beglen, __pads, __plen);
}
else
{
__beg = __pads;
__beglen = __plen;
__end = const_cast<char_type*>(__olds);
}
}
else
{
__beg = __pads;
__beglen = __plen;
__end = const_cast<char_type*>(__olds);
}
traits_type::copy(__news, __beg, __beglen);
traits_type::copy(__news + __beglen, __end, __newlen - __beglen - __mod);
}
template<typename _CharT, typename _Traits>
basic_ostream<_CharT, _Traits>&
operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c)
{
typedef basic_ostream<_CharT, _Traits> __ostream_type;
typename __ostream_type::sentry __cerb(__out);
if (__cerb)
{
try
{
streamsize __w = __out.width();
_CharT* __pads = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __w));
__pads[0] = __c;
streamsize __len = 1;
if (__w > __len)
{
__pad_char(__out, __pads, &__c, __w, __len);
__len = __w;
}
__out.write(__pads, __len);
__out.width(0);
}
catch(exception& __fail)
{
__out.setstate(ios_base::badbit);
if ((__out.exceptions() & ios_base::badbit) != 0)
throw;
}
}
return __out;
}
template <class _Traits>
basic_ostream<char, _Traits>&
operator<<(basic_ostream<char, _Traits>& __out, char __c)
{
typedef basic_ostream<char, _Traits> __ostream_type;
typename __ostream_type::sentry __cerb(__out);
if (__cerb)
{
try
{
streamsize __w = __out.width();
char* __pads = static_cast<char*>(__builtin_alloca(__w + 1));
__pads[0] = __c;
streamsize __len = 1;
if (__w > __len)
{
__pad_char(__out, __pads, &__c, __w, __len);
__len = __w;
}
__out.write(__pads, __len);
__out.width(0);
}
catch(exception& __fail)
{
__out.setstate(ios_base::badbit);
if ((__out.exceptions() & ios_base::badbit) != 0)
throw;
}
}
return __out;
}
template<typename _CharT, typename _Traits>
basic_ostream<_CharT, _Traits>&
operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s)
{
typedef basic_ostream<_CharT, _Traits> __ostream_type;
typename __ostream_type::sentry __cerb(__out);
if (__cerb)
{
try
{
streamsize __w = __out.width();
_CharT* __pads = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __w));
streamsize __len = static_cast<streamsize>(_Traits::length(__s));
if (__w > __len)
{
__pad_char(__out, __pads, __s, __w, __len);
__s = __pads;
__len = __w;
}
__out.write(__s, __len);
__out.width(0);
}
catch(exception& __fail)
{
__out.setstate(ios_base::badbit);
if ((__out.exceptions() & ios_base::badbit) != 0)
throw;
}
}
return __out;
}
template<typename _CharT, typename _Traits>
basic_ostream<_CharT, _Traits>&
operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s)
{
typedef basic_ostream<_CharT, _Traits> __ostream_type;
typedef char_traits<char> __ctraits_type;
typename __ostream_type::sentry __cerb(__out);
if (__cerb)
{
size_t __clen = __ctraits_type::length(__s);
_CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * (__clen + 1)));
for (size_t __i = 0; __i <= __clen; ++__i)
__ws[__i] = __out.widen(__s[__i]);
_CharT* __str = __ws;
try
{
streamsize __len = static_cast<streamsize>(__clen);
streamsize __w = __out.width();
_CharT* __pads = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __w));
if (__w > __len)
{
__pad_char(__out, __pads, __ws, __w, __len);
__str = __pads;
__len = __w;
}
__out.write(__str, __len);
__out.width(0);
}
catch(exception& __fail)
{
__out.setstate(ios_base::badbit);
if ((__out.exceptions() & ios_base::badbit) != 0)
throw;
}
}
return __out;
}
template<class _Traits>
basic_ostream<char, _Traits>&
operator<<(basic_ostream<char, _Traits>& __out, const char* __s)
{
typedef basic_ostream<char, _Traits> __ostream_type;
typename __ostream_type::sentry __cerb(__out);
if (__cerb)
{
try
{
streamsize __w = __out.width();
char* __pads = static_cast<char*>(__builtin_alloca(__w));
streamsize __len = static_cast<streamsize>(_Traits::length(__s));
if (__w > __len)
{
__pad_char(__out, __pads, __s, __w, __len);
__s = __pads;
__len = __w;
}
__out.write(__s, __len);
__out.width(0);
}
catch(exception& __fail)
{
__out.setstate(ios_base::badbit);
if ((__out.exceptions() & ios_base::badbit) != 0)
throw;
}
}
return __out;
}
template<typename _CharT, typename _Traits, typename _Alloc>
basic_ostream<_CharT, _Traits>&
operator<<(basic_ostream<_CharT, _Traits>& __out,
const basic_string<_CharT, _Traits, _Alloc>& __str)
{
typedef basic_ostream<_CharT, _Traits> __ostream_type;
typename __ostream_type::sentry __cerb(__out);
if (__cerb)
{
const _CharT* __s = __str.data();
streamsize __w = __out.width();
_CharT* __pads = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) * __w));
streamsize __len = static_cast<streamsize>(__str.size());
if (__w > __len)
{
__pad_char(__out, __pads, __s, __w, __len);
__s = __pads;
__len = __w;
}
streamsize __res = __out.rdbuf()->sputn(__s, __len);
__out.width(0);
if (__res != __len)
__out.setstate(ios_base::failbit);
}
return __out;
}
}
# 279 "/opt/egcs/include/g++-v3/bits/std_ostream.h" 2 3
# 41 "/opt/egcs/include/g++-v3/bits/std_iostream.h" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/std_istream.h" 1 3
# 38 "/opt/egcs/include/g++-v3/bits/std_istream.h" 3
# 1 "/opt/egcs/include/g++-v3/bits/std_ios.h" 1 3
# 40 "/opt/egcs/include/g++-v3/bits/std_istream.h" 2 3
# 1 "/opt/egcs/include/g++-v3/i686-pc-linux-gnu/bits/std_limits.h" 1 3
# 41 "/opt/egcs/include/g++-v3/bits/std_istream.h" 2 3
namespace std
{
template<typename _CharT, typename _Traits>
class basic_istream : virtual public basic_ios<_CharT, _Traits>
{
public:
typedef _CharT char_type;
typedef typename _Traits::int_type int_type;
typedef typename _Traits::pos_type pos_type;
typedef typename _Traits::off_type off_type;
typedef _Traits traits_type;
typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
typedef basic_ios<_CharT, _Traits> __ios_type;
typedef basic_istream<_CharT, _Traits> __istream_type;
typedef istreambuf_iterator<_CharT, _Traits> __istreambuf_iter;
typedef num_get<_CharT, __istreambuf_iter> __numget_type;
typedef ctype<_CharT> __ctype_type;
protected:
streamsize _M_gcount;
public:
explicit
basic_istream(__streambuf_type* __sb)
{
this->init(__sb);
_M_gcount = streamsize(0);
}
virtual
~basic_istream()
{ _M_gcount = streamsize(0); }
class sentry;
friend class sentry;
__istream_type&
operator>>(__istream_type& (*__pf)(__istream_type&));
__istream_type&
operator>>(__ios_type& (*__pf)(__ios_type&));
__istream_type&
operator>>(ios_base& (*__pf)(ios_base&));
__istream_type&
operator>>(bool& __n);
__istream_type&
operator>>(short& __n);
__istream_type&
operator>>(unsigned short& __n);
__istream_type&
operator>>(int& __n);
__istream_type&
operator>>(unsigned int& __n);
__istream_type&
operator>>(long& __n);
__istream_type&
operator>>(unsigned long& __n);
__istream_type&
operator>>(long long& __n);
__istream_type&
operator>>(unsigned long long& __n);
__istream_type&
operator>>(float& __f);
__istream_type&
operator>>(double& __f);
__istream_type&
operator>>(long double& __f);
__istream_type&
operator>>(void*& __p);
__istream_type&
operator>>(__streambuf_type* __sb);
inline streamsize
gcount(void) const
{ return _M_gcount; }
int_type
get(void);
__istream_type&
get(char_type& __c);
__istream_type&
get(char_type* __s, streamsize __n, char_type __delim);
inline __istream_type&
get(char_type* __s, streamsize __n)
{ return get(__s, __n, this->widen('\n')); }
__istream_type&
get(__streambuf_type& __sb, char_type __delim);
inline __istream_type&
get(__streambuf_type& __sb)
{ return get(__sb, this->widen('\n')); }
__istream_type&
getline(char_type* __s, streamsize __n, char_type __delim);
inline __istream_type&
getline(char_type* __s, streamsize __n)
{ return getline(__s, __n, this->widen('\n')); }
__istream_type&
ignore(streamsize __n = 1, int_type __delim = traits_type::eof());
int_type
peek(void);
__istream_type&
read(char_type* __s, streamsize __n);
streamsize
readsome(char_type* __s, streamsize __n);
__istream_type&
putback(char_type __c);
__istream_type&
unget(void);
int
sync(void);
pos_type
tellg(void);
__istream_type&
seekg(pos_type);
__istream_type&
seekg(off_type, ios_base::seekdir);
private:
__istream_type&
operator=(const __istream_type&);
basic_istream(const __istream_type&);
};
template<typename _CharT, typename _Traits>
class basic_istream<_CharT, _Traits>::sentry
{
public:
typedef _Traits traits_type;
typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
typedef basic_istream<_CharT, _Traits> __istream_type;
typedef __istream_type::__ctype_type __ctype_type;
typedef typename _Traits::int_type __int_type;
explicit
sentry(basic_istream<_CharT, _Traits>& __is, bool __noskipws = false);
operator bool() { return _M_ok; }
private:
bool _M_ok;
};
template<typename _CharT, typename _Traits>
basic_istream<_CharT, _Traits>&
operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c);
template<class _Traits>
basic_istream<char, _Traits>&
operator>>(basic_istream<char, _Traits>& __in, unsigned char& __c)
{ return (__in >> reinterpret_cast<char&>(__c)); }
template<class _Traits>
basic_istream<char, _Traits>&
operator>>(basic_istream<char, _Traits>& __in, signed char& __c)
{ return (__in >> reinterpret_cast<char&>(__c)); }
template<typename _CharT, typename _Traits>
basic_istream<_CharT, _Traits>&
operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s);
template<class _Traits>
basic_istream<char,_Traits>&
operator>>(basic_istream<char,_Traits>& __in, unsigned char* __s)
{ return (__in >> reinterpret_cast<char*>(__s)); }
template<class _Traits>
basic_istream<char,_Traits>&
operator>>(basic_istream<char,_Traits>& __in, signed char* __s)
{ return (__in >> reinterpret_cast<char*>(__s)); }
template<typename _CharT, typename _Traits>
class basic_iostream
: public basic_istream<_CharT, _Traits>,
public basic_ostream<_CharT, _Traits>
{
public:
typedef basic_istream<_CharT, _Traits> __istream_type;
typedef basic_ostream<_CharT, _Traits> __ostream_type;
explicit
basic_iostream(basic_streambuf<_CharT, _Traits>* __sb)
: __istream_type(__sb), __ostream_type(__sb)
{ }
virtual
~basic_iostream() { }
};
template<typename _CharT, typename _Traits>
basic_istream<_CharT, _Traits>&
ws(basic_istream<_CharT, _Traits>& __is);
}
# 1 "/opt/egcs/include/g++-v3/bits/istream.tcc" 1 3
# 32 "/opt/egcs/include/g++-v3/bits/istream.tcc" 3
# 1 "/opt/egcs/include/g++-v3/bits/std_locale.h" 1 3
# 33 "/opt/egcs/include/g++-v3/bits/istream.tcc" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/std_ostream.h" 1 3
# 34 "/opt/egcs/include/g++-v3/bits/istream.tcc" 2 3
namespace std
{
template<typename _CharT, typename _Traits>
basic_istream<_CharT, _Traits>::sentry::
sentry(basic_istream<_CharT, _Traits>& __in, bool __noskipws)
{
if (__in.good())
{
if (__in.tie())
__in.tie()->flush();
if (!__noskipws && (__in.flags() & ios_base::skipws))
{
const __int_type __eof = traits_type::eof();
const __ctype_type* __ctype = __in._M_get_fctype_ios();
__streambuf_type* __sb = __in.rdbuf();
__int_type __c = __sb->sgetc();
while (__c != __eof && __ctype->is(ctype_base::space, __c))
__c = __sb->snextc();
if (__c == __eof)
__in.setstate(ios_base::eofbit);
}
}
if (__in.good())
_M_ok = true;
else
{
_M_ok = false;
__in.setstate(ios_base::failbit);
}
}
template<typename _CharT, typename _Traits>
basic_istream<_CharT, _Traits>&
basic_istream<_CharT, _Traits>::
operator>>(__istream_type& (*__pf)(__istream_type&))
{
__pf(*this);
return *this;
}
template<typename _CharT, typename _Traits>
basic_istream<_CharT, _Traits>&
basic_istream<_CharT, _Traits>::
operator>>(__ios_type& (*__pf)(__ios_type&))
{
__pf(*this);
return *this;
}
template<typename _CharT, typename _Traits>
basic_istream<_CharT, _Traits>&
basic_istream<_CharT, _Traits>::
operator>>(ios_base& (*__pf)(ios_base&))
{
__pf(*this);
return *this;
}
template<typename _CharT, typename _Traits>
basic_istream<_CharT, _Traits>&
basic_istream<_CharT, _Traits>::
operator>>(bool& __n)
{
sentry __cerb(*this, false);
if (__cerb)
{
try
{
ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
if (_M_check_facet(_M_fnumget))
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
catch(exception& __fail)
{
this->setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
throw;
}
}
return *this;
}
template<typename _CharT, typename _Traits>
basic_istream<_CharT, _Traits>&
basic_istream<_CharT, _Traits>::
operator>>(short& __n)
{
sentry __cerb(*this, false);
if (__cerb)
{
try
{
ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
if (_M_check_facet(_M_fnumget))
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
catch(exception& __fail)
{
this->setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
throw;
}
}
return *this;
}
template<typename _CharT, typename _Traits>
basic_istream<_CharT, _Traits>&
basic_istream<_CharT, _Traits>::
operator>>(unsigned short& __n)
{
sentry __cerb(*this, false);
if (__cerb)
{
try
{
ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
if (_M_check_facet(_M_fnumget))
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
catch(exception& __fail)
{
this->setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
throw;
}
}
return *this;
}
template<typename _CharT, typename _Traits>
basic_istream<_CharT, _Traits>&
basic_istream<_CharT, _Traits>::
operator>>(int& __n)
{
sentry __cerb(*this, false);
if (__cerb)
{
try
{
ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
if (_M_check_facet(_M_fnumget))
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
catch(exception& __fail)
{
this->setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
throw;
}
}
return *this;
}
template<typename _CharT, typename _Traits>
basic_istream<_CharT, _Traits>&
basic_istream<_CharT, _Traits>::
operator>>(unsigned int& __n)
{
sentry __cerb(*this, false);
if (__cerb)
{
try
{
ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
if (_M_check_facet(_M_fnumget))
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
catch(exception& __fail)
{
this->setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
throw;
}
}
return *this;
}
template<typename _CharT, typename _Traits>
basic_istream<_CharT, _Traits>&
basic_istream<_CharT, _Traits>::
operator>>(long& __n)
{
sentry __cerb(*this, false);
if (__cerb)
{
try
{
ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
if (_M_check_facet(_M_fnumget))
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
catch(exception& __fail)
{
this->setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
throw;
}
}
return *this;
}
template<typename _CharT, typename _Traits>
basic_istream<_CharT, _Traits>&
basic_istream<_CharT, _Traits>::
operator>>(unsigned long& __n)
{
sentry __cerb(*this, false);
if (__cerb)
{
try
{
ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
if (_M_check_facet(_M_fnumget))
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
catch(exception& __fail)
{
this->setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
throw;
}
}
return *this;
}
template<typename _CharT, typename _Traits>
basic_istream<_CharT, _Traits>&
basic_istream<_CharT, _Traits>::
operator>>(long long& __n)
{
sentry __cerb(*this, false);
if (__cerb)
{
try
{
ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
if (_M_check_facet(_M_fnumget))
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
catch(exception& __fail)
{
this->setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
throw;
}
}
return *this;
}
template<typename _CharT, typename _Traits>
basic_istream<_CharT, _Traits>&
basic_istream<_CharT, _Traits>::
operator>>(unsigned long long& __n)
{
sentry __cerb(*this, false);
if (__cerb)
{
try
{
ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
if (_M_check_facet(_M_fnumget))
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
catch(exception& __fail)
{
this->setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
throw;
}
}
return *this;
}
template<typename _CharT, typename _Traits>
basic_istream<_CharT, _Traits>&
basic_istream<_CharT, _Traits>::
operator>>(float& __n)
{
sentry __cerb(*this, false);
if (__cerb)
{
try
{
ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
if (_M_check_facet(_M_fnumget))
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
catch(exception& __fail)
{
this->setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
throw;
}
}
return *this;
}
template<typename _CharT, typename _Traits>
basic_istream<_CharT, _Traits>&
basic_istream<_CharT, _Traits>::
operator>>(double& __n)
{
sentry __cerb(*this, false);
if (__cerb)
{
try
{
ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
if (_M_check_facet(_M_fnumget))
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
catch(exception& __fail)
{
this->setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
throw;
}
}
return *this;
}
template<typename _CharT, typename _Traits>
basic_istream<_CharT, _Traits>&
basic_istream<_CharT, _Traits>::
operator>>(long double& __n)
{
sentry __cerb(*this, false);
if (__cerb)
{
try
{
ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
if (_M_check_facet(_M_fnumget))
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
catch(exception& __fail)
{
this->setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
throw;
}
}
return *this;
}
template<typename _CharT, typename _Traits>
basic_istream<_CharT, _Traits>&
basic_istream<_CharT, _Traits>::
operator>>(void*& __n)
{
sentry __cerb(*this, false);
if (__cerb)
{
try
{
ios_base::iostate __err = ios_base::iostate(ios_base::goodbit);
if (_M_check_facet(_M_fnumget))
_M_fnumget->get(*this, 0, *this, __err, __n);
this->setstate(__err);
}
catch(exception& __fail)
{
this->setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
throw;
}
}
return *this;
}
template<typename _CharT, typename _Traits>
basic_istream<_CharT, _Traits>&
basic_istream<_CharT, _Traits>::
operator>>(__streambuf_type* __sbout)
{
streamsize __xtrct = 0;
__streambuf_type* __sbin = this->rdbuf();
sentry __cerb(*this, false);
if (__sbout && __cerb)
__xtrct = __copy_streambufs(*this, __sbin, __sbout);
if (!__sbout || !__xtrct)
this->setstate(ios_base::failbit);
return *this;
}
template<typename _CharT, typename _Traits>
basic_istream<_CharT, _Traits>::int_type
basic_istream<_CharT, _Traits>::
get(void)
{
const int_type __eof = traits_type::eof();
int_type __c = __eof;
_M_gcount = 0;
sentry __cerb(*this, true);
if (__cerb)
{
try
{
__c = this->rdbuf()->sbumpc();
if (__c != __eof)
_M_gcount = 1;
else
this->setstate(ios_base::eofbit | ios_base::failbit);
}
catch(exception& __fail)
{
this->setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
throw;
}
}
return __c;
}
template<typename _CharT, typename _Traits>
basic_istream<_CharT, _Traits>&
basic_istream<_CharT, _Traits>::
get(char_type& __c)
{
_M_gcount = 0;
sentry __cerb(*this, true);
if (__cerb)
{
try
{
const int_type __eof = traits_type::eof();
int_type __bufval = this->rdbuf()->sbumpc();
if (__bufval != __eof)
{
_M_gcount = 1;
__c = traits_type::to_char_type(__bufval);
}
else
this->setstate(ios_base::eofbit | ios_base::failbit);
}
catch(exception& __fail)
{
this->setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
throw;
}
}
return *this;
}
template<typename _CharT, typename _Traits>
basic_istream<_CharT, _Traits>&
basic_istream<_CharT, _Traits>::
get(char_type* __s, streamsize __n, char_type __delim)
{
_M_gcount = 0;
sentry __cerb(*this, true);
if (__cerb && __n > 1)
{
try
{
const int_type __idelim = traits_type::to_int_type(__delim);
const int_type __eof = traits_type::eof();
__streambuf_type* __sb = this->rdbuf();
int_type __c = __sb->sbumpc();
bool __testdelim = __c == __idelim;
bool __testeof = __c == __eof;
while (_M_gcount < __n - 1 && !__testeof && !__testdelim)
{
*__s++ = traits_type::to_char_type(__c);
++_M_gcount;
__c = __sb->sbumpc();
__testeof = __c == __eof;
__testdelim = __c == __idelim;
}
if (__testdelim || _M_gcount == __n - 1)
__sb->sputbackc(__c);
if (__testeof)
this->setstate(ios_base::eofbit);
}
catch(exception& __fail)
{
this->setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
throw;
}
}
*__s = char_type();
if (!_M_gcount)
this->setstate(ios_base::failbit);
return *this;
}
template<typename _CharT, typename _Traits>
basic_istream<_CharT, _Traits>&
basic_istream<_CharT, _Traits>::
get(__streambuf_type& __sb, char_type __delim)
{
_M_gcount = 0;
sentry __cerb(*this, true);
if (__cerb)
{
int_type __c;
__streambuf_type* __this_sb = this->rdbuf();
try
{
const int_type __idelim = traits_type::to_int_type(__delim);
const int_type __eof = traits_type::eof();
__c = __this_sb->sbumpc();
bool __testdelim = __c == __idelim;
bool __testeof = __c == __eof;
bool __testput = true;
while (!__testeof && !__testdelim
&& (__testput = __sb.sputc(traits_type::to_char_type(__c))
!= __eof))
{
++_M_gcount;
__c = __this_sb->sbumpc();
__testeof = __c == __eof;
__testdelim = __c == __idelim;
}
if (__testdelim || !__testput)
__this_sb->sputbackc(traits_type::to_char_type(__c));
if (__testeof)
this->setstate(ios_base::eofbit);
}
catch(exception& __fail)
{
__this_sb->sputbackc(traits_type::to_char_type(__c));
}
}
if (!_M_gcount)
this->setstate(ios_base::failbit);
return *this;
}
template<typename _CharT, typename _Traits>
basic_istream<_CharT, _Traits>&
basic_istream<_CharT, _Traits>::
getline(char_type* __s, streamsize __n, char_type __delim)
{
_M_gcount = 0;
sentry __cerb(*this, true);
if (__cerb)
{
try
{
__streambuf_type* __sb = this->rdbuf();
int_type __c = __sb->sbumpc();
++_M_gcount;
const int_type __idelim = traits_type::to_int_type(__delim);
const int_type __eof = traits_type::eof();
bool __testdelim = __c == __idelim;
bool __testeof = __c == __eof;
while (_M_gcount < __n && !__testeof && !__testdelim)
{
*__s++ = traits_type::to_char_type(__c);
__c = __sb->sbumpc();
++_M_gcount;
__testeof = __c == __eof;
__testdelim = __c == __idelim;
}
if (__testeof)
{
--_M_gcount;
this->setstate(ios_base::eofbit);
}
else if (!__testdelim)
{
--_M_gcount;
__sb->sputbackc(traits_type::to_char_type(__c));
this->setstate(ios_base::failbit);
}
}
catch(exception& __fail)
{
this->setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
throw;
}
}
*__s = char_type();
if (!_M_gcount)
this->setstate(ios_base::failbit);
return *this;
}
template<typename _CharT, typename _Traits>
basic_istream<_CharT, _Traits>&
basic_istream<_CharT, _Traits>::
ignore(streamsize __n, int_type __delim)
{
_M_gcount = 0;
sentry __cerb(*this, true);
if (__cerb && __n > 0)
{
try
{
const int_type __idelim = traits_type::to_int_type(__delim);
const int_type __eof = traits_type::eof();
__streambuf_type* __sb = this->rdbuf();
int_type __c = __sb->sbumpc();
bool __testdelim = __c == __idelim;
bool __testeof = __c == __eof;
__n = min(__n, numeric_limits<streamsize>::max());
while (_M_gcount < __n - 1 && !__testeof && !__testdelim)
{
++_M_gcount;
__c = __sb->sbumpc();
__testeof = __c == __eof;
__testdelim = __c == __idelim;
}
if ((_M_gcount == __n - 1 && !__testeof) || __testdelim)
++_M_gcount;
if (__testeof)
this->setstate(ios_base::eofbit);
}
catch(exception& __fail)
{
this->setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
throw;
}
}
return *this;
}
template<typename _CharT, typename _Traits>
basic_istream<_CharT, _Traits>::int_type
basic_istream<_CharT, _Traits>::
peek(void)
{
int_type __c = traits_type::eof();
_M_gcount = 0;
sentry __cerb(*this, true);
if (__cerb)
{
try
{ __c = this->rdbuf()->sgetc(); }
catch(exception& __fail)
{
this->setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
throw;
}
}
return __c;
}
template<typename _CharT, typename _Traits>
basic_istream<_CharT, _Traits>&
basic_istream<_CharT, _Traits>::
read(char_type* __s, streamsize __n)
{
_M_gcount = 0;
sentry __cerb(*this, true);
if (__cerb)
{
if (__n > 0)
{
try
{
const int_type __eof = traits_type::eof();
__streambuf_type* __sb = this->rdbuf();
int_type __c = __sb->sbumpc();
bool __testeof = __c == __eof;
while (_M_gcount < __n - 1 && !__testeof)
{
*__s++ = traits_type::to_char_type(__c);
++_M_gcount;
__c = __sb->sbumpc();
__testeof = __c == __eof;
}
if (__testeof)
this->setstate(ios_base::eofbit | ios_base::failbit);
else
{
*__s++ = traits_type::to_char_type(__c);
++_M_gcount;
}
}
catch(exception& __fail)
{
this->setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
throw;
}
}
}
else
this->setstate(ios_base::failbit);
return *this;
}
template<typename _CharT, typename _Traits>
streamsize
basic_istream<_CharT, _Traits>::
readsome(char_type* __s, streamsize __n)
{
const int_type __eof = traits_type::eof();
_M_gcount = 0;
sentry __cerb(*this, true);
if (__cerb)
{
if (__n > 0)
{
try
{
streamsize __num = this->rdbuf()->in_avail();
if (__num != static_cast<streamsize>(__eof))
{
__num = min(__num, __n);
_M_gcount = this->rdbuf()->sgetn(__s, __num);
}
else
this->setstate(ios_base::eofbit);
}
catch(exception& __fail)
{
this->setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
throw;
}
}
}
else
this->setstate(ios_base::failbit);
return _M_gcount;
}
template<typename _CharT, typename _Traits>
basic_istream<_CharT, _Traits>&
basic_istream<_CharT, _Traits>::
putback(char_type __c)
{
sentry __cerb(*this, true);
if (__cerb)
{
try
{
const int_type __eof = traits_type::eof();
__streambuf_type* __sb = this->rdbuf();
if (!__sb || __sb->sputbackc(__c) == __eof)
this->setstate(ios_base::badbit);
}
catch(exception& __fail)
{
this->setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
throw;
}
}
else
this->setstate(ios_base::failbit);
return *this;
}
template<typename _CharT, typename _Traits>
basic_istream<_CharT, _Traits>&
basic_istream<_CharT, _Traits>::
unget(void)
{
_M_gcount = 0;
sentry __cerb(*this, true);
if (__cerb)
{
try
{
const int_type __eof = traits_type::eof();
__streambuf_type* __sb = this->rdbuf();
if (!__sb || __eof == __sb->sungetc())
this->setstate(ios_base::badbit);
}
catch(exception& __fail)
{
this->setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
throw;
}
}
else
this->setstate(ios_base::failbit);
return *this;
}
template<typename _CharT, typename _Traits>
int
basic_istream<_CharT, _Traits>::
sync(void)
{
int __ret = traits_type::eof();
_M_gcount = 0;
sentry __cerb(*this, true);
if (__cerb)
{
try
{
__streambuf_type* __sb = this->rdbuf();
if (!__sb || __ret == __sb->pubsync())
this->setstate(ios_base::badbit);
else
__ret = 0;
}
catch(exception& __fail)
{
this->setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
throw;
}
}
return __ret;
}
template<typename _CharT, typename _Traits>
typename basic_istream<_CharT, _Traits>::pos_type
basic_istream<_CharT, _Traits>::
tellg(void)
{
pos_type __ret = pos_type(-1);
_M_gcount = 0;
sentry __cerb(*this, true);
if (__cerb)
{
try
{
__ret = this->rdbuf()->pubseekoff(0, ios_base::cur, ios_base::in);
}
catch(exception& __fail)
{
this->setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
throw;
}
}
return __ret;
}
template<typename _CharT, typename _Traits>
basic_istream<_CharT, _Traits>&
basic_istream<_CharT, _Traits>::
seekg(pos_type __pos)
{
_M_gcount = 0;
sentry __cerb(*this, true);
if (__cerb)
{
try
{
pos_type __err = this->rdbuf()->pubseekpos(__pos, ios_base::in);
if (__err == pos_type(off_type(-1)))
this->setstate(failbit);
}
catch(exception& __fail)
{
this->setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
throw;
}
}
return *this;
}
template<typename _CharT, typename _Traits>
basic_istream<_CharT, _Traits>&
basic_istream<_CharT, _Traits>::
seekg(off_type __off, ios_base::seekdir __dir)
{
_M_gcount = 0;
sentry __cerb(*this, true);
if (__cerb)
{
try
{
pos_type __err = this->rdbuf()->pubseekoff(__off, __dir,
ios_base::in);
if (__err == pos_type(off_type(-1)))
this->setstate(failbit);
}
catch(exception& __fail)
{
this->setstate(ios_base::badbit);
if ((this->exceptions() & ios_base::badbit) != 0)
throw;
}
}
return *this;
}
template<typename _CharT, typename _Traits>
basic_istream<_CharT, _Traits>&
operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c)
{
typedef basic_istream<_CharT, _Traits> __istream_type;
typename __istream_type::sentry __cerb(__in, false);
if (__cerb)
{
try
{ __in.get(__c); }
catch(exception& __fail)
{
__in.setstate(ios_base::badbit);
if ((__in.exceptions() & ios_base::badbit) != 0)
throw;
}
}
else
__in.setstate(ios_base::failbit);
return __in;
}
template<typename _CharT, typename _Traits>
basic_istream<_CharT, _Traits>&
operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s)
{
typedef basic_istream<_CharT, _Traits> __istream_type;
typedef typename __istream_type::__streambuf_type __streambuf_type;
typedef typename _Traits::int_type int_type;
typedef _CharT char_type;
typedef ctype<_CharT> __ctype_type;
streamsize __extracted = 0;
typename __istream_type::sentry __cerb(__in, false);
if (__cerb)
{
try
{
streamsize __num = __in.width();
if (__num == 0)
__num = numeric_limits<streamsize>::max();
__streambuf_type* __sb = __in.rdbuf();
const __ctype_type* __ctype = __in._M_get_fctype_ios();
int_type __c = __sb->sbumpc();
const int_type __eof = _Traits::eof();
bool __testsp = __ctype->is(ctype_base::space, __c);
bool __testeof = __c == __eof;
while (__extracted < __num - 1 && !__testeof && !__testsp)
{
*__s++ = __c;
++__extracted;
__c = __sb->sbumpc();
__testeof = __c == __eof;
__testsp = __ctype->is(ctype_base::space, __c);
}
if (!__testeof)
__sb->sputbackc(__c);
else
__in.setstate(ios_base::eofbit);
*__s = char_type();
__in.width(0);
}
catch(exception& __fail)
{
__in.setstate(ios_base::badbit);
if ((__in.exceptions() & ios_base::badbit) != 0)
throw;
}
}
if (!__extracted)
__in.setstate(ios_base::failbit);
return __in;
}
template<typename _CharT, typename _Traits>
basic_istream<_CharT,_Traits>&
ws(basic_istream<_CharT,_Traits>& __in)
{
typedef basic_istream<_CharT, _Traits> __istream_type;
typedef typename __istream_type::__streambuf_type __streambuf_type;
typedef typename __istream_type::__ctype_type __ctype_type;
typedef typename __istream_type::int_type __int_type;
typedef typename __istream_type::char_type __char_type;
__streambuf_type* __sb = __in.rdbuf();
const __ctype_type* __ctype = __in._M_get_fctype_ios();
const __int_type __eof = _Traits::eof();
__int_type __c;
bool __testeof;
bool __testsp;
do
{
__c = __sb->sbumpc();
__testeof = __c == __eof;
__testsp = __ctype->is(ctype_base::space, __c);
}
while (!__testeof && __testsp);
if (!__testeof && !__testsp)
__sb->sputbackc(__c);
else
__in.setstate(ios_base::eofbit);
return __in;
}
template<typename _CharT, typename _Traits, typename _Alloc>
basic_istream<_CharT, _Traits>&
operator>>(basic_istream<_CharT, _Traits>& __in,
basic_string<_CharT, _Traits, _Alloc>& __str)
{
typedef basic_istream<_CharT, _Traits> __istream_type;
typedef typename __istream_type::int_type __int_type;
typedef typename __istream_type::__streambuf_type __streambuf_type;
typedef typename __istream_type::__ctype_type __ctype_type;
typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
typedef typename __string_type::size_type __size_type;
__size_type __extracted = 0;
typename __istream_type::sentry __cerb(__in, false);
if (__cerb)
{
__str.erase();
streamsize __w = __in.width();
__size_type __n;
__n = __w > 0 ? static_cast<__size_type>(__w) : __str.max_size();
__streambuf_type* __sb = __in.rdbuf();
const __ctype_type* __ctype = __in._M_get_fctype_ios();
__int_type __c = __sb->sbumpc();
const __int_type __eof = _Traits::eof();
bool __testsp = __ctype->is(ctype_base::space, __c);
bool __testeof = __c == __eof;
while (__extracted < __n && !__testeof && !__testsp)
{
__str += _Traits::to_char_type(__c);
++__extracted;
__c = __sb->sbumpc();
__testeof = __c == __eof;
__testsp = __ctype->is(ctype_base::space, __c);
}
if (!__testeof)
__sb->sputbackc(__c);
else
__in.setstate(ios_base::eofbit);
__in.width(0);
}
if (!__extracted)
__in.setstate (ios_base::failbit);
return __in;
}
template<typename _CharT, typename _Traits, typename _Alloc>
basic_istream<_CharT, _Traits>&
getline(basic_istream<_CharT, _Traits>& __in,
basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim)
{
typedef basic_istream<_CharT, _Traits> __istream_type;
typedef typename __istream_type::int_type __int_type;
typedef typename __istream_type::__streambuf_type __streambuf_type;
typedef typename __istream_type::__ctype_type __ctype_type;
typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
typedef typename __string_type::size_type __size_type;
__size_type __extracted = 0;
bool __testdelim = false;
typename __istream_type::sentry __cerb(__in, true);
if (__cerb)
{
__str.erase();
__size_type __n = __str.max_size();
__int_type __idelim = _Traits::to_int_type(__delim);
__streambuf_type* __sb = __in.rdbuf();
__int_type __c = __sb->sbumpc();
const __int_type __eof = _Traits::eof();
__testdelim = __c == __idelim;
bool __testeof = __c == __eof;
while (__extracted <= __n && !__testeof && !__testdelim)
{
__str += _Traits::to_char_type(__c);
++__extracted;
__c = __sb->sbumpc();
__testeof = __c == __eof;
__testdelim = __c == __idelim;
}
if (__testeof)
__in.setstate(ios_base::eofbit);
}
if (!__extracted && !__testdelim)
__in.setstate(ios_base::failbit);
return __in;
}
template<class _CharT, class _Traits, class _Alloc>
inline basic_istream<_CharT,_Traits>&
getline(basic_istream<_CharT, _Traits>& __in,
basic_string<_CharT,_Traits,_Alloc>& __str)
{ return getline(__in, __str, __in.widen('\n')); }
}
# 291 "/opt/egcs/include/g++-v3/bits/std_istream.h" 2 3
# 42 "/opt/egcs/include/g++-v3/bits/std_iostream.h" 2 3
namespace std
{
extern istream cin;
extern ostream cout;
extern ostream cerr;
extern ostream clog;
extern wistream wcin;
extern wostream wcout;
extern wostream wcerr;
extern wostream wclog;
static ios_base::Init __ioinit;
}
# 32 "/opt/egcs/include/g++-v3/iostream" 2 3
# 59 "../../../jtc/include/JTC/Types.h" 2
# 1 "/opt/egcs/lib/gcc-lib/i686-pc-linux-gnu/3.1/include/stdio.h" 1 3
# 65 "../../../jtc/include/JTC/Types.h" 2
# 1 "/usr/include/string.h" 1 3
# 66 "../../../jtc/include/JTC/Types.h" 2
# 98 "../../../jtc/include/JTC/Types.h"
# 1 "/usr/include/pthread.h" 1 3
# 99 "../../../jtc/include/JTC/Types.h" 2
class JTCThreadId
{
public:
JTCThreadId()
: m_is_null_id(true)
{
}
JTCThreadId(pthread_t id)
: m_id(id), m_is_null_id(false)
{
}
# 127 "../../../jtc/include/JTC/Types.h"
bool
operator!=(
const JTCThreadId& rhs
) const
{
return !(*this == rhs);
}
bool
operator==(
const JTCThreadId& rhs
) const
{
if (!m_is_null_id && !rhs.m_is_null_id)
{
return pthread_equal(m_id, rhs.m_id);
}
else if (m_is_null_id && rhs.m_is_null_id)
{
return true;
}
# 163 "../../../jtc/include/JTC/Types.h"
else return false;
}
static JTCThreadId
self()
{
return JTCThreadId(pthread_self());
}
operator pthread_t() const
{
return m_id;
}
char*
toString(
char* buf,
size_t len
) const
{
char str[128];
sprintf(str, "%lu", (unsigned long) m_id);
# 205 "../../../jtc/include/JTC/Types.h"
buf[len - 1] = '\0';
return strncpy(buf, str, len - 1);
}
friend std::ostream&
operator<<(
std::ostream&,
const JTCThreadId&
);
private:
pthread_t m_id;
bool m_is_null_id;
};
# 233 "../../../jtc/include/JTC/Types.h"
inline std::ostream&
operator<<(std::ostream& os, const JTCThreadId& id)
{
if (id == JTCThreadId())
{
os << "NIL";
}
else
{
os << id.m_id;
# 253 "../../../jtc/include/JTC/Types.h"
}
return os;
}
# 482 "../../../jtc/include/JTC/Types.h"
typedef pthread_key_t JTCThreadKey;
# 15 "../../../jtc/include/JTC/Thread.h" 2
# 1 "../../../jtc/include/JTC/Handle.h" 1
# 14 "../../../jtc/include/JTC/Handle.h"
# 1 "../../../jtc/include/JTC/Types.h" 1
# 15 "../../../jtc/include/JTC/Handle.h" 2
# 1 "../../../jtc/include/JTC/Mutex.h" 1
# 14 "../../../jtc/include/JTC/Mutex.h"
# 1 "../../../jtc/include/JTC/Types.h" 1
# 15 "../../../jtc/include/JTC/Mutex.h" 2
# 1 "../../../jtc/include/JTC/Syscall.h" 1
# 14 "../../../jtc/include/JTC/Syscall.h"
# 1 "../../../jtc/include/JTC/Exception.h" 1
# 14 "../../../jtc/include/JTC/Exception.h"
# 1 "../../../jtc/include/JTC/Types.h" 1
# 15 "../../../jtc/include/JTC/Exception.h" 2
# 40 "../../../jtc/include/JTC/Exception.h"
# 1 "/usr/include/string.h" 1 3
# 41 "../../../jtc/include/JTC/Exception.h" 2
class JTCThreadDeath
{
};
class JTCException
{
protected:
char* note_;
int error_;
public:
JTCException(const char* note = "", long error = 0)
: error_(error)
{
note_ = new char[strlen(note) + 1];
strcpy(note_, note);
}
JTCException(const JTCException& e)
: error_(e.error_)
{
note_ = new char[strlen(e.note_) +1];
strcpy(note_, e.note_);
}
JTCException& operator=(const JTCException& e)
{
if (this != &e)
{
error_ = e.error_;
note_ = new char[strlen(e.note_) +1];
strcpy(note_, e.note_);
}
return *this;
}
virtual ~JTCException()
{
delete[] note_;
}
long getError() const
{
return error_;
}
virtual const char* getType() const
{
return "JTCException";
}
const char* getMessage() const
{
return note_;
}
};
inline std::ostream&
operator<<(std::ostream& os, const JTCException& e)
{
os << e.getType() << ": " << e.getMessage();
return os;
}
class JTCInterruptedException : public JTCException
{
public:
JTCInterruptedException() {}
JTCInterruptedException(const char* note)
: JTCException(note) { }
virtual const char* getType() const
{
return "JTCInterruptedException";
}
};
class JTCIllegalThreadStateException : public JTCException
{
public:
JTCIllegalThreadStateException() {}
JTCIllegalThreadStateException(const char* note)
: JTCException(note) { }
virtual const char* getType() const
{
return "JTCIllegalThreadStateException";
}
};
class JTCIllegalMonitorStateException : public JTCException
{
public:
JTCIllegalMonitorStateException() { }
JTCIllegalMonitorStateException(const char* note)
: JTCException(note) { }
virtual const char* getType() const
{
return "JTCIllegalMonitorStateException";
}
};
class JTCIllegalArgumentException : public JTCException
{
public:
JTCIllegalArgumentException() { }
JTCIllegalArgumentException(const char* note)
: JTCException(note) { }
virtual const char* getType() const
{
return "JTCIllegalArgumentException";
}
};
class JTCSystemCallException : public JTCException
{
public:
JTCSystemCallException(const char* note, long error)
: JTCException(note, error) { }
virtual const char* getType() const
{
return "JTCSystemCallException";
}
};
class JTCOutOfMemoryError : public JTCException
{
public:
JTCOutOfMemoryError() { }
JTCOutOfMemoryError(const char* note)
: JTCException(note) { }
virtual const char* getType() const
{
return "JTCOutOfMemoryError";
}
};
class JTCUnknownThreadException : public JTCException
{
public:
JTCUnknownThreadException() { }
JTCUnknownThreadException(const char* note)
: JTCException(note) { }
virtual const char* getType() const
{
return "JTCUnknownThreadException";
}
};
class JTCInitializeError : public JTCException
{
public:
JTCInitializeError(const char* note)
: JTCException(note) { }
virtual const char* getType() const
{
return "JTCInitializeError";
}
};
# 15 "../../../jtc/include/JTC/Syscall.h" 2
# 1 "/opt/egcs/include/g++-v3/backward/strstream" 1 3
# 51 "/opt/egcs/include/g++-v3/backward/strstream" 3
# 1 "/opt/egcs/include/g++-v3/backward/backward_warning.h" 1 3
# 52 "/opt/egcs/include/g++-v3/backward/strstream" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/std_iosfwd.h" 1 3
# 53 "/opt/egcs/include/g++-v3/backward/strstream" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/std_ios.h" 1 3
# 54 "/opt/egcs/include/g++-v3/backward/strstream" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/std_istream.h" 1 3
# 55 "/opt/egcs/include/g++-v3/backward/strstream" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/std_ostream.h" 1 3
# 56 "/opt/egcs/include/g++-v3/backward/strstream" 2 3
# 1 "/opt/egcs/include/g++-v3/bits/std_string.h" 1 3
# 57 "/opt/egcs/include/g++-v3/backward/strstream" 2 3
namespace std
{
class strstreambuf : public basic_streambuf<char, char_traits<char> >
{
public:
typedef char_traits<char> _Traits;
typedef basic_streambuf<char, _Traits> _Base;
public:
explicit strstreambuf(streamsize __initial_capacity = 0);
strstreambuf(void* (*__alloc)(size_t), void (*__free)(void*));
strstreambuf(char* __get, streamsize __n, char* __put = 0);
strstreambuf(signed char* __get, streamsize __n, signed char* __put = 0);
strstreambuf(unsigned char* __get, streamsize __n, unsigned char* __put=0);
strstreambuf(const char* __get, streamsize __n);
strstreambuf(const signed char* __get, streamsize __n);
strstreambuf(const unsigned char* __get, streamsize __n);
virtual ~strstreambuf();
public:
void freeze(bool = true);
char* str();
int pcount() const;
protected:
virtual int_type overflow(int_type __c = _Traits::eof());
virtual int_type pbackfail(int_type __c = _Traits::eof());
virtual int_type underflow();
virtual _Base* setbuf(char* __buf, streamsize __n);
virtual pos_type seekoff(off_type __off, ios_base::seekdir __dir,
ios_base::openmode __mode
= ios_base::in | ios_base::out);
virtual pos_type seekpos(pos_type __pos, ios_base::openmode __mode
= ios_base::in | ios_base::out);
private:
char* _M_alloc(size_t);
void _M_free(char*);
void _M_setup(char* __get, char* __put, streamsize __n);
private:
void* (*_M_alloc_fun)(size_t);
void (*_M_free_fun)(void*);
bool _M_dynamic : 1;
bool _M_frozen : 1;
bool _M_constant : 1;
};
class istrstream : public basic_istream<char>
{
public:
explicit istrstream(char*);
explicit istrstream(const char*);
istrstream(char* , streamsize);
istrstream(const char*, streamsize);
virtual ~istrstream();
strstreambuf* rdbuf() const;
char* str();
private:
strstreambuf _M_buf;
};
class ostrstream : public basic_ostream<char>
{
public:
ostrstream();
ostrstream(char*, int, ios_base::openmode = ios_base::out);
virtual ~ostrstream();
strstreambuf* rdbuf() const;
void freeze(bool = true);
char* str();
int pcount() const;
private:
strstreambuf _M_buf;
};
class strstream : public basic_iostream<char>
{
public:
typedef char char_type;
typedef char_traits<char>::int_type int_type;
typedef char_traits<char>::pos_type pos_type;
typedef char_traits<char>::off_type off_type;
strstream();
strstream(char*, int, ios_base::openmode = ios_base::in | ios_base::out);
virtual ~strstream();
strstreambuf* rdbuf() const;
void freeze(bool = true);
int pcount() const;
char* str();
private:
strstreambuf _M_buf;
};
}
# 19 "../../../jtc/include/JTC/Syscall.h" 2
# 30 "../../../jtc/include/JTC/Syscall.h"
# 1 "../../../jtc/include/JTC/Exception.h" 1
# 31 "../../../jtc/include/JTC/Syscall.h" 2
# 16 "../../../jtc/include/JTC/Mutex.h" 2
# 1 "/usr/include/errno.h" 1 3
# 18 "../../../jtc/include/JTC/Mutex.h" 2
# 29 "../../../jtc/include/JTC/Mutex.h"
class JTCMutex
{
public:
JTCMutex()
{
do { int _jtc_syscallError; if ((_jtc_syscallError = (pthread_mutex_init (&m_lock,0))) != 0) { long error = _jtc_syscallError; char msg[ 512 ]; msg[sizeof(msg)-1] = '\0'; std::ostrstream stream(msg, sizeof(msg)-1); stream << "pthread_mutex_init" << "\n (\n" << " " << (&m_lock) << ", // " << "&m_lock" << "\n" << " " << (0) << " // " << "0" << "\n )" << " == " << error << " [" << "../../../jtc/include/JTC/Mutex.h" << ':' << 36 << ']' << std::ends; throw JTCSystemCallException(msg, error); } } while (0);
# 52 "../../../jtc/include/JTC/Mutex.h"
}
~JTCMutex()
{
pthread_mutex_destroy(&m_lock);
# 66 "../../../jtc/include/JTC/Mutex.h"
}
bool
lock() const
{
# 84 "../../../jtc/include/JTC/Mutex.h"
pthread_mutex_t* lock = &((JTCMutex*)this) -> m_lock;
{ int _jtc_syscallError; if ((_jtc_syscallError = (pthread_mutex_lock (lock))) != 0) { long error = _jtc_syscallError; char msg[ 512 ]; msg[sizeof(msg)-1] = '\0'; std::ostrstream stream(msg, sizeof(msg)-1); stream << "pthread_mutex_lock" << "\n (\n" << " " << (lock) << " // " << "lock" << "\n )" << " == " << error << " [" << "../../../jtc/include/JTC/Mutex.h" << ':' << 85 << ']' << std::ends; throw JTCSystemCallException(msg, error); } } while (0);
# 99 "../../../jtc/include/JTC/Mutex.h"
return true;
}
bool
unlock() const
{
pthread_mutex_t* lock = &((JTCMutex*)this) -> m_lock;
{ int _jtc_syscallError; if ((_jtc_syscallError = (pthread_mutex_unlock (lock))) != 0) { long error = _jtc_syscallError; char msg[ 512 ]; msg[sizeof(msg)-1] = '\0'; std::ostrstream stream(msg, sizeof(msg)-1); stream << "pthread_mutex_unlock" << "\n (\n" << " " << (lock) << " // " << "lock" << "\n )" << " == " << error << " [" << "../../../jtc/include/JTC/Mutex.h" << ':' << 111 << ']' << std::ends; throw JTCSystemCallException(msg, error); } } while (0);
# 124 "../../../jtc/include/JTC/Mutex.h"
return true;
}
bool
trylock() const
{
pthread_mutex_t* lock = &((JTCMutex*)this) -> m_lock;
try
{
{ int _jtc_syscallError; if ((_jtc_syscallError = (pthread_mutex_trylock (lock))) != 0) { long error = _jtc_syscallError; char msg[ 512 ]; msg[sizeof(msg)-1] = '\0'; std::ostrstream stream(msg, sizeof(msg)-1); stream << "pthread_mutex_trylock" << "\n (\n" << " " << (lock) << " // " << "lock" << "\n )" << " == " << error << " [" << "../../../jtc/include/JTC/Mutex.h" << ':' << 137 << ']' << std::ends; throw JTCSystemCallException(msg, error); } } while (0);
}
catch(const JTCSystemCallException& e)
{
if (e.getError() == 16)
return false;
throw;
}
return true;
# 181 "../../../jtc/include/JTC/Mutex.h"
}
JTCThreadId
get_owner() const
{
return JTCThreadId::self();
}
private:
JTCMutex(
const JTCMutex&
);
void
operator=(
const JTCMutex&
);
pthread_mutex_t m_lock;
# 214 "../../../jtc/include/JTC/Mutex.h"
friend class JTCCond;
};
class JTCRecursiveMutex
{
public:
JTCRecursiveMutex();
~JTCRecursiveMutex();
bool
lock() const;
bool
unlock() const;
bool
trylock() const;
JTCThreadId
get_owner() const;
private:
JTCRecursiveMutex(
const JTCRecursiveMutex&
);
void
operator=(
const JTCRecursiveMutex&
);
bool
lock_internal(
int count
);
bool
trylock_internal();
bool
unlock_internal();
void
lock(
unsigned int count
) const;
unsigned int
reset_for_condvar();
pthread_mutex_t m_lock;
# 306 "../../../jtc/include/JTC/Mutex.h"
JTCMutex m_internal;
unsigned int m_count;
JTCThreadId m_owner;
friend class JTCCondHelper;
friend class JTCCond;
};
# 18 "../../../jtc/include/JTC/Handle.h" 2
template <class T> class JTCHandleT;
class JTCThread;
typedef JTCHandleT<JTCThread> JTCThreadHandle;
class JTCThreadGroup;
typedef JTCHandleT<JTCThreadGroup> JTCThreadGroupHandle;
class JTCRunnable;
typedef JTCHandleT<JTCRunnable> JTCRunnableHandle;
class JTCRefCount
{
public:
long m_refcount;
JTCMutex m_ref_mutex;
JTCRefCount()
: m_refcount(0)
{
}
virtual
~JTCRefCount()
{
}
};
template <class T>
class JTCHandleT
{
public:
JTCHandleT(
T* tg = 0
);
JTCHandleT(
const JTCHandleT<T>& rhs
);
~JTCHandleT();
JTCHandleT<T>&
operator=(
const JTCHandleT<T>& rhs
);
JTCHandleT<T>&
operator=(
T* tg
);
bool
operator==(
const JTCHandleT<T>& rhs
) const
{
return m_object == rhs.m_object;
}
bool
operator!=(
const JTCHandleT<T>& rhs
) const
{
return m_object != rhs.m_object;
}
bool
operator!() const
{
return m_object == 0;
}
operator bool() const
{
return m_object != 0;
}
T*
operator->() const
{
return m_object;
}
T*
get() const
{
return m_object;
}
T&
operator*()
{
return *m_object;
}
private:
T* m_object;
};
# 16 "../../../jtc/include/JTC/Thread.h" 2
# 1 "../../../jtc/include/JTC/Cond.h" 1
# 14 "../../../jtc/include/JTC/Cond.h"
# 1 "../../../jtc/include/JTC/Types.h" 1
# 15 "../../../jtc/include/JTC/Cond.h" 2
# 23 "../../../jtc/include/JTC/Cond.h"
class JTCRecursiveMutex;
class JTCMutex;
# 35 "../../../jtc/include/JTC/Cond.h"
class JTCCond
{
public:
JTCCond();
~JTCCond();
void
wait(
JTCRecursiveMutex& mutex
);
void
wait(
JTCMutex& mutex
);
bool
wait(
JTCRecursiveMutex& mutex,
long timeout
);
bool
wait(
JTCMutex& mutex,
long timeout
);
void
signal();
void
broadcast();
private:
bool
wait_internal(
JTCRecursiveMutex&,
long timeout
);
bool
wait_internal(
JTCMutex&,
long timeout
);
struct timespec
calc_timeout(
long timeout
);
JTCCond(
const JTCCond&
);
void
operator=(
const JTCCond&
);
pthread_cond_t m_cond;
};
# 17 "../../../jtc/include/JTC/Thread.h" 2
class JTCThreadGroup;
class JTCThread;
typedef void (*JTCAttrHook)(pthread_attr_t*);
typedef void (*JTCRunHook)(JTCThread*);
typedef void (*JTCStartHook)();
class JTCThread : public virtual JTCRefCount
{
public:
JTCThread(
const char* name
);
JTCThread(
JTCRunnableHandle target = JTCRunnableHandle(),
const char* name = 0
);
JTCThread(
JTCThreadGroupHandle& group,
JTCRunnableHandle target,
const char* name = 0
);
JTCThread(
JTCThreadGroupHandle& group,
const char* name = 0
);
virtual
~JTCThread();
JTCThreadGroupHandle
getThreadGroup();
void
setName(
const char*
);
const char*
getName() const;
void
start();
virtual void
run();
bool
isAlive() const;
void
destroy();
void
join();
void
join(
long millis
);
void
join(
long millis,
int nanos
);
void
setPriority(
int newPri
);
int
getPriority() const;
static int
enumerate(
JTCThreadHandle* list,
int len
);
enum Priority
{
JTC_MIN_PRIORITY = 0,
JTC_NORM_PRIORITY = 1,
JTC_MAX_PRIORITY = 2
};
static JTCThread*
currentThread();
static void
sleep(
long millis,
int nano = 0
);
static void
yield();
static int
activeCount();
JTCThreadId
getId() const;
# 210 "../../../jtc/include/JTC/Thread.h"
static void
setAttrHook(
JTCAttrHook attr_hook,
JTCAttrHook* old_hook = 0
);
# 224 "../../../jtc/include/JTC/Thread.h"
static void
setRunHook(
JTCRunHook run_hook,
JTCRunHook* old_hook = 0
);
static void
setStartHook(
JTCStartHook start_hook,
JTCStartHook* old_hook = 0
);
private:
JTCThread(
const JTCThread&
);
void
operator=(
const JTCThread&
);
void
init(const JTCThreadGroupHandle& group, JTCRunnableHandle target,
const char* name);
JTCThread(
JTCThreadId tid,
bool main
);
static unsigned long
get_next_thread_number();
public:
void
entrance_hook();
void
exit_hook();
private:
static unsigned long sm_thread_number;
static JTCMutex sm_thread_number_mutex;
JTCThreadId m_thread_id;
unsigned long m_thread_number;
JTCThreadGroupHandle m_group;
char* m_name;
JTCRunnableHandle m_target;
enum State
{
new_thread,
runnable,
not_runnable,
dead
};
State m_state;
JTCMutex m_mutex;
JTCCond m_join_cond;
bool m_is_adopted;
static JTCThreadKey sm_tss_key;
static JTCAttrHook sm_attr_hook;
static JTCRunHook sm_run_hook;
static JTCStartHook sm_start_hook;
friend class JTCInitialize;
friend class JTCAdoptCurrentThread;
};
std::ostream& operator<<(std::ostream& os, const JTCThread& thr);
class JTCTSSManager;
class JTCInitialize
{
static int sm_init_count;
JTCThreadHandle m_main_thread;
JTCTSSManager* m_tss_manager;
void initialize();
public:
JTCInitialize();
JTCInitialize(
int& argc,
char** argv
);
~JTCInitialize();
void
waitTermination();
static bool
initialized();
};
# 399 "../../../jtc/include/JTC/Thread.h"
class JTCAdoptCurrentThread
{
JTCThreadHandle m_adopted_thread;
public:
JTCAdoptCurrentThread();
~JTCAdoptCurrentThread();
};
# 15 "../../../jtc/include/JTC/JTC.h" 2
# 1 "../../../jtc/include/JTC/ThreadGroup.h" 1
# 14 "../../../jtc/include/JTC/ThreadGroup.h"
# 1 "../../../jtc/include/JTC/Monitor.h" 1
# 17 "../../../jtc/include/JTC/Monitor.h"
template <class T> class JTCSyncT;
# 1 "../../../jtc/include/JTC/Types.h" 1
# 20 "../../../jtc/include/JTC/Monitor.h" 2
# 1 "../../../jtc/include/JTC/Cond.h" 1
# 21 "../../../jtc/include/JTC/Monitor.h" 2
# 34 "../../../jtc/include/JTC/Monitor.h"
class JTCMonitorBase
{
protected:
JTCMonitorBase();
virtual
~JTCMonitorBase();
protected:
void validate_owner(
const JTCThreadId&,
const char* caller
) const;
JTCCond m_mon_cond;
int m_nnotify;
private:
JTCMonitorBase(
const JTCMonitorBase&
);
void
operator=(
const JTCMonitorBase&
);
};
template <class T>
class JTCMonitorT : public JTCMonitorBase
{
public:
JTCMonitorT();
virtual
~JTCMonitorT();
void
wait();
void
wait(
long msec
);
void
notify();
void
notifyAll();
private:
friend class JTCSynchronized;
friend class JTCSyncT< JTCMonitorT >;
void
lock() const;
void
unlock() const;
void
notify_internal(
int times
);
T m_mon_mutex;
};
# 1 "../../../jtc/include/JTC/MonitorI.h" 1
# 31 "../../../jtc/include/JTC/MonitorI.h"
template<class T>
JTCMonitorT<T>::JTCMonitorT()
{
}
template <class T>
JTCMonitorT<T>::~JTCMonitorT()
{
}
# 48 "../../../jtc/include/JTC/MonitorI.h"
template <class T> void
JTCMonitorT<T>::wait()
{
validate_owner(m_mon_mutex.get_owner(), "wait()");
notify_internal(m_nnotify);
try
{
m_mon_cond.wait(m_mon_mutex);
}
catch(...)
{
m_nnotify = 0;
throw;
}
m_nnotify = 0;
}
template <class T> void
JTCMonitorT<T>::wait(
long timeout
)
{
validate_owner(m_mon_mutex.get_owner(), "wait(long)");
notify_internal(m_nnotify);
try
{
m_mon_cond.wait(m_mon_mutex, timeout);
}
catch(...)
{
m_nnotify = 0;
throw;
}
m_nnotify = 0;
}
template <class T> void
JTCMonitorT<T>::notify()
{
validate_owner(m_mon_mutex.get_owner(), "notify");
if (m_nnotify != -1)
{
++m_nnotify;
}
}
template <class T> void
JTCMonitorT<T>::notifyAll()
{
validate_owner(m_mon_mutex.get_owner(), "notifyAll");
m_nnotify = -1;
}
# 162 "../../../jtc/include/JTC/MonitorI.h"
template <class T> void
JTCMonitorT<T>::lock() const
{
if (m_mon_mutex.lock())
{
JTCMonitorT<T>* This = (JTCMonitorT<T>*)this;
This -> m_nnotify = 0;
}
}
template <class T> void
JTCMonitorT<T>::unlock() const
{
int nnotify = m_nnotify;
if (m_mon_mutex.unlock())
{
JTCMonitorT<T>* This = (JTCMonitorT<T>*)this;
This -> notify_internal(nnotify);
}
}
template <class T> void
JTCMonitorT<T>::notify_internal(
int nnotify
)
{
if (nnotify != 0)
{
if (nnotify == -1)
{
m_mon_cond.broadcast();
return;
}
else
{
while (nnotify > 0)
{
m_mon_cond.signal();
--nnotify;
}
}
}
}
# 134 "../../../jtc/include/JTC/Monitor.h" 2
# 1 "../../../jtc/include/JTC/Mutex.h" 1
# 139 "../../../jtc/include/JTC/Monitor.h" 2
class JTCMonitor : public JTCMonitorBase
{
public:
JTCMonitor();
virtual
~JTCMonitor();
void
wait();
void
wait(
long msec
);
void
notify();
void
notifyAll();
private:
friend class JTCSynchronized;
friend class JTCSyncT< JTCMonitor >;
void
lock() const;
void
unlock() const;
void
notify_internal(
int times
);
JTCRecursiveMutex m_mon_mutex;
};
# 15 "../../../jtc/include/JTC/ThreadGroup.h" 2
# 1 "../../../jtc/include/JTC/Handle.h" 1
# 16 "../../../jtc/include/JTC/ThreadGroup.h" 2
class JTCThreadGroup : public JTCMonitor, public virtual JTCRefCount
{
public:
JTCThreadGroup(
const char* name
);
JTCThreadGroup(
const JTCThreadGroupHandle& parent,
const char* name
);
virtual
~JTCThreadGroup();
const char*
getName() const;
JTCThreadGroupHandle
getParent() const;
bool
isDaemon() const;
void
setDaemon(
bool daemon
);
virtual void
uncaughtException(
JTCThreadHandle t,
const JTCException& e
);
virtual void
uncaughtException(
JTCThreadHandle t
);
int
getMaxPriority() const;
bool
isDestroyed() const;
void
destroy();
void
setMaxPriority(
int pri
);
bool
parentOf(
const JTCThreadGroupHandle& g
);
int
activeCount() const;
int
activeGroupCount() const;
int
enumerate(
JTCThreadHandle* list,
int len,
bool recurse = true
) const;
int
enumerate(
JTCThreadGroupHandle* list,
int len,
bool recurse = true
) const;
void
list();
void
list(
std::ostream& os,
int indent
);
private:
JTCThreadGroup(
const JTCThreadGroup&
);
void operator=(
const JTCThreadGroup&
);
class JTCThreadGroupSet
{
public:
JTCThreadGroupSet()
: m_handles(0),
m_length(0)
{
}
~JTCThreadGroupSet()
{
delete [] m_handles;
}
void
allocate(
int n
);
int
length() const;
JTCThreadGroupHandle&
operator[](
int i
);
private:
JTCThreadGroupSet(
const JTCThreadGroupSet&
);
JTCThreadGroupSet&
operator=(
const JTCThreadGroupSet&
);
JTCThreadGroupHandle* m_handles;
int m_length;
};
void
create_group_snapshot(
JTCThreadGroupSet& set
) const;
void
add(
const JTCThreadGroupHandle& g
);
void
remove(
const JTCThreadGroupHandle& g
);
void
add(
const JTCThreadHandle& t
);
void
remove(
const JTCThreadHandle& t
);
int
enumerate(
JTCThreadHandle* list,
int len,
int n,
bool recurse
) const;
int
enumerate(
JTCThreadGroupHandle* list,
int len,
int n,
bool recurse
) const;
void
init(
const JTCThreadGroupHandle& parent,
const char* name
);
JTCThreadGroupHandle m_parent;
char* m_name;
int m_max_priority;
bool m_destroyed;
int m_nthreads;
JTCThreadHandle* m_threads;
int m_threads_capacity;
int m_ngroups;
JTCThreadGroupHandle* m_groups;
int m_groups_capacity;
bool m_isdaemon;
friend class JTCThread;
friend class JTCInitialize;
JTCThreadGroup();
};
std::ostream&
operator<<(
std::ostream& os,
const JTCThreadGroup& g
);
# 16 "../../../jtc/include/JTC/JTC.h" 2
# 1 "../../../jtc/include/JTC/Sync.h" 1
# 14 "../../../jtc/include/JTC/Sync.h"
# 1 "../../../jtc/include/JTC/Mutex.h" 1
# 15 "../../../jtc/include/JTC/Sync.h" 2
# 1 "../../../jtc/include/JTC/Monitor.h" 1
# 16 "../../../jtc/include/JTC/Sync.h" 2
# 1 "../../../jtc/include/JTC/RWMutex.h" 1
# 14 "../../../jtc/include/JTC/RWMutex.h"
# 1 "../../../jtc/include/JTC/Mutex.h" 1
# 15 "../../../jtc/include/JTC/RWMutex.h" 2
# 1 "../../../jtc/include/JTC/Cond.h" 1
# 16 "../../../jtc/include/JTC/RWMutex.h" 2
class JTCRWMutex
{
public:
JTCRWMutex();
~JTCRWMutex();
void
read_lock() const;
void
write_lock() const;
void
unlock() const;
private:
JTCRWMutex(
const JTCRWMutex &
);
void
operator=(
const JTCRWMutex &
);
void
read_lock_internal();
void
write_lock_internal();
void
unlock_internal();
int m_count;
unsigned int m_waiting_writers;
JTCMutex m_mutex;
JTCCond m_ok_to_read;
JTCCond m_ok_to_write;
};
# 17 "../../../jtc/include/JTC/Sync.h" 2
class JTCReadLock
{
public:
JTCReadLock(const JTCRWMutex& m)
: m_mutex(&m)
{
m_mutex -> read_lock();
}
~JTCReadLock()
{
m_mutex -> unlock();
}
private:
const JTCRWMutex* m_mutex;
};
class JTCWriteLock
{
public:
JTCWriteLock(const JTCRWMutex& m)
: m_mutex(&m)
{
m_mutex -> write_lock();
}
~JTCWriteLock()
{
m_mutex -> unlock();
}
private:
const JTCRWMutex* m_mutex;
};
class JTCSynchronized
{
public:
JTCSynchronized(
const JTCMonitor& mon
);
JTCSynchronized(
const JTCMutex& m
);
JTCSynchronized(
const JTCRecursiveMutex& m
);
enum ReadWriteLockType
{
read_lock,
write_lock
};
JTCSynchronized(
const JTCRWMutex& m,
ReadWriteLockType type
);
~JTCSynchronized();
private:
JTCSynchronized(
const JTCSynchronized&
);
void
operator=(
const JTCSynchronized&
);
const JTCMonitor* m_monitor;
const JTCMutex* m_mutex;
const JTCRecursiveMutex* m_rmutex;
const JTCRWMutex* m_rwmutex;
enum LockType
{
monitor,
mutex,
recursive_mutex,
read_write_mutex
};
LockType m_lock_type;
};
inline
JTCSynchronized::JTCSynchronized(
const JTCMonitor& mon
)
: m_monitor(&mon),
m_lock_type(monitor)
{
m_monitor -> lock();
}
inline
JTCSynchronized::JTCSynchronized(
const JTCMutex& m
)
: m_mutex(&m),
m_lock_type(mutex)
{
m_mutex -> lock();
}
inline
JTCSynchronized::JTCSynchronized(
const JTCRecursiveMutex& m
)
: m_rmutex(&m),
m_lock_type(recursive_mutex)
{
m_rmutex -> lock();
}
inline
JTCSynchronized::JTCSynchronized(
const JTCRWMutex& m,
ReadWriteLockType type
)
: m_rwmutex(&m),
m_lock_type(read_write_mutex)
{
if (type == read_lock)
m_rwmutex -> read_lock();
else
m_rwmutex -> write_lock();
}
inline
JTCSynchronized::~JTCSynchronized()
{
switch(m_lock_type)
{
case monitor:
m_monitor -> unlock();
break;
case mutex:
m_mutex -> unlock();
break;
case recursive_mutex:
m_rmutex -> unlock();
break;
case read_write_mutex:
m_rwmutex -> unlock();
break;
}
}
# 17 "../../../jtc/include/JTC/JTC.h" 2
# 1 "../../../jtc/include/JTC/SyncT.h" 1
# 19 "../../../jtc/include/JTC/SyncT.h"
template <class T>
class JTCSyncT
{
public:
JTCSyncT(const T& mutex)
: m_mutex(mutex)
{
m_mutex.lock();
}
~JTCSyncT()
{
m_mutex.unlock();
}
private:
const T& m_mutex;
};
# 18 "../../../jtc/include/JTC/JTC.h" 2
# 1 "../../../jtc/include/JTC/Runnable.h" 1
# 14 "../../../jtc/include/JTC/Runnable.h"
class JTCRunnable : public virtual JTCRefCount
{
public:
virtual void run() = 0;
};
# 19 "../../../jtc/include/JTC/JTC.h" 2
# 1 "../../../jtc/include/JTC/TSS.h" 1
# 14 "../../../jtc/include/JTC/TSS.h"
# 1 "../../../jtc/include/JTC/Types.h" 1
# 15 "../../../jtc/include/JTC/TSS.h" 2
class JTCTSS
{
public:
static JTCThreadKey
allocate();
static JTCThreadKey
allocate(
void (*cleanup)(void*)
);
static void
release(
JTCThreadKey key
);
static void*
get(
JTCThreadKey key
);
static void
set(
JTCThreadKey key,
void* value
);
};
# 20 "../../../jtc/include/JTC/JTC.h" 2
# 1 "../../../jtc/include/JTC/RWMutex.h" 1
# 21 "../../../jtc/include/JTC/JTC.h" 2
# 1 "../../../jtc/include/JTC/HandleI.h" 1
# 18 "../../../jtc/include/JTC/HandleI.h"
template <class T>
JTCHandleT<T>::JTCHandleT(
T* tg
)
: m_object(tg)
{
if (m_object != 0)
{
m_object -> m_ref_mutex.lock();
++m_object -> m_refcount;
m_object -> m_ref_mutex.unlock();
}
}
template <class T>
JTCHandleT<T>::~JTCHandleT()
{
if (m_object != 0)
{
bool delete_it = false;
m_object -> m_ref_mutex.lock();
if (--m_object -> m_refcount == 0)
delete_it = true;
m_object -> m_ref_mutex.unlock();
if (delete_it)
delete m_object;
}
}
template <class T>
JTCHandleT<T>::JTCHandleT(
const JTCHandleT<T>& rhs
)
: m_object(rhs.m_object)
{
if (m_object != 0)
{
m_object -> m_ref_mutex.lock();
++m_object -> m_refcount;
m_object -> m_ref_mutex.unlock();
}
}
template <class T>
JTCHandleT<T>&
JTCHandleT<T>::operator=(
const JTCHandleT<T>& rhs
)
{
if (m_object == rhs.m_object)
return *this;
# 111 "../../../jtc/include/JTC/HandleI.h"
if (m_object != 0)
{
bool delete_it = false;
m_object -> m_ref_mutex.lock();
if (--m_object -> m_refcount == 0)
delete_it = true;
m_object -> m_ref_mutex.unlock();
if (delete_it)
delete m_object;
}
m_object = rhs.m_object;
if (m_object != 0)
{
m_object -> m_ref_mutex.lock();
++m_object -> m_refcount;
m_object -> m_ref_mutex.unlock();
}
return *this;
}
template <class T>
JTCHandleT<T>&
JTCHandleT<T>::operator=(
T* tg
)
{
if (m_object == tg)
return *this;
# 164 "../../../jtc/include/JTC/HandleI.h"
if (m_object != 0)
{
bool delete_it = false;
m_object -> m_ref_mutex.lock();
if (--m_object -> m_refcount == 0)
delete_it = true;
m_object -> m_ref_mutex.unlock();
if (delete_it)
delete m_object;
}
m_object = tg;
if (m_object != 0)
{
m_object -> m_ref_mutex.lock();
++m_object -> m_refcount;
m_object -> m_ref_mutex.unlock();
}
return *this;
}
# 23 "../../../jtc/include/JTC/JTC.h" 2
# 1 "../../../jtc/include/JTC/MonitorI.h" 1
# 24 "../../../jtc/include/JTC/JTC.h" 2
# 28 "../../include/OB/Basic.h" 2
# 91 "../../include/OB/Basic.h"
namespace OB
{
extern const char* Version;
extern unsigned long IntegerVersion;
}
# 153 "../../include/OB/Basic.h"
# 1 "/usr/include/string.h" 1 3
# 154 "../../include/OB/Basic.h" 2
# 1 "/usr/include/assert.h" 1 3
# 36 "/usr/include/assert.h" 3
# 1 "/usr/include/features.h" 1 3
# 37 "/usr/include/assert.h" 2 3
# 65 "/usr/include/assert.h" 3
extern "C" {
extern void __assert_fail (__const char *__assertion, __const char *__file,
unsigned int __line, __const char *__function)
throw () __attribute__ ((__noreturn__));
extern void __assert_perror_fail (int __errnum, __const char *__file,
unsigned int __line,
__const char *__function)
throw () __attribute__ ((__noreturn__));
extern void __assert (const char *__assertion, const char *__file, int __line)
throw () __attribute__ ((__noreturn__));
}
# 155 "../../include/OB/Basic.h" 2
# 1 "/usr/include/stdlib.h" 1 3
# 156 "../../include/OB/Basic.h" 2
# 1 "/usr/include/sys/types.h" 1 3
# 159 "../../include/OB/Basic.h" 2
# 1 "/usr/include/sys/time.h" 1 3
# 22 "/usr/include/sys/time.h" 3
# 1 "/usr/include/features.h" 1 3
# 23 "/usr/include/sys/time.h" 2 3
# 1 "/usr/include/bits/types.h" 1 3
# 25 "/usr/include/sys/time.h" 2 3
# 1 "/usr/include/time.h" 1 3
# 27 "/usr/include/sys/time.h" 2 3
# 1 "/usr/include/bits/time.h" 1 3
# 29 "/usr/include/sys/time.h" 2 3
# 1 "/usr/include/sys/select.h" 1 3
# 31 "/usr/include/sys/time.h" 2 3
extern "C" {
# 56 "/usr/include/sys/time.h" 3
struct timezone
{
int tz_minuteswest;
int tz_dsttime;
};
typedef struct timezone *__restrict __timezone_ptr_t;
# 72 "/usr/include/sys/time.h" 3
extern int gettimeofday (struct timeval *__restrict __tv,
__timezone_ptr_t __tz) throw ();
extern int settimeofday (__const struct timeval *__tv,
__const struct timezone *__tz) throw ();
extern int adjtime (__const struct timeval *__delta,
struct timeval *__olddelta) throw ();
enum __itimer_which
{
ITIMER_REAL = 0,
ITIMER_VIRTUAL = 1,
ITIMER_PROF = 2
};
struct itimerval
{
struct timeval it_interval;
struct timeval it_value;
};
typedef enum __itimer_which __itimer_which_t;
extern int getitimer (__itimer_which_t __which,
struct itimerval *__value) throw ();
extern int setitimer (__itimer_which_t __which,
__const struct itimerval *__restrict __new,
struct itimerval *__restrict __old) throw ();
extern int utimes (__const char *__file, __const struct timeval __tvp[2])
throw ();
# 169 "/usr/include/sys/time.h" 3
}
# 163 "../../include/OB/Basic.h" 2
# 1 "/opt/egcs/include/g++-v3/iostream" 1 3
# 167 "../../include/OB/Basic.h" 2
# 215 "../../include/OB/Basic.h"
namespace OB
{
enum NCAReason
{
NCANotImpl,
NCADeprecated,
NCAWrongAlloc,
NCADoubleFree,
NCARefCountNotZero,
NCARefCountZero,
NCASeqLenGrMax,
NCASeqRange,
NCASeqBound,
NCANullInit,
NCANullPtr,
NCANullDeref,
NCANullString,
NCANullValue,
NCASelfAssign,
NCAAnySelfReplace,
NCADiscType,
NCADiscMismatch,
NCAUnionInit,
NCANoExceptionTC,
NCAUnembeddedRecTC,
NCAEmbeddedRecTC,
NCANoLongDouble
};
void NCA(NCAReason, const char*, const char*, unsigned int);
# 279 "../../include/OB/Basic.h"
size_t wcslen(const wchar_t*);
wchar_t* wcscpy(wchar_t*, const wchar_t*);
wchar_t* wcscat(wchar_t*, const wchar_t*);
int wcscmp(const wchar_t*, const wchar_t*);
class StrForStruct;
class StrForSeq;
class WStrForStruct;
class WStrForSeq;
extern char* EmptyString;
extern wchar_t* EmptyWString;
}
namespace CORBA
{
typedef bool Boolean;
typedef char Char;
typedef unsigned char Octet;
typedef wchar_t WChar;
typedef signed short Short;
typedef unsigned short UShort;
# 343 "../../include/OB/Basic.h"
typedef signed long Long;
typedef unsigned long ULong;
# 356 "../../include/OB/Basic.h"
typedef long long LongLong;
typedef unsigned long long ULongLong;
# 380 "../../include/OB/Basic.h"
typedef float Float;
typedef double Double;
typedef long double LongDouble;
typedef Short& Short_out;
typedef Long& Long_out;
typedef LongLong& LongLong_out;
typedef ULongLong& ULongLong_out;
typedef UShort& UShort_out;
typedef ULong& ULong_out;
typedef Float& Float_out;
typedef Double& Double_out;
typedef LongDouble& LongDouble_out;
typedef Char& Char_out;
typedef WChar& WChar_out;
typedef Boolean& Boolean_out;
typedef Octet& Octet_out;
typedef ULong Flags;
const Flags ARG_IN = 1;
const Flags ARG_OUT = 2;
const Flags ARG_INOUT = 3;
const Flags OUT_LIST_MEMORY = 4;
const Flags IN_COPY_VALUE = 5;
const Flags CTX_RESTRICT_SCOPE = 6;
# 438 "../../include/OB/Basic.h"
char* string_alloc(ULong);
wchar_t* wstring_alloc(ULong);
void string_free(char*);
void wstring_free(wchar_t*);
char* string_dup(const char*);
wchar_t* wstring_dup(const wchar_t*);
class String_var
{
protected:
char* ptr_;
public:
String_var() : ptr_(0) { }
String_var(char*);
String_var(const char* p) : ptr_(string_dup(p)) { }
String_var(const String_var&);
String_var(const OB::StrForSeq&);
String_var(const OB::StrForStruct&);
~String_var() { string_free(ptr_); }
String_var& operator=(char*);
String_var& operator=(const char*);
String_var& operator=(const String_var&);
String_var& operator=(const OB::StrForStruct&);
String_var& operator=(const OB::StrForSeq&);
char& operator[](short idx) { return ptr_[idx]; }
char operator[](short idx) const { return ptr_[idx]; }
char& operator[](unsigned short idx) { return ptr_[idx]; }
char operator[](unsigned short idx) const { return ptr_[idx]; }
char& operator[](int idx) { return ptr_[idx]; }
char operator[](int idx) const { return ptr_[idx]; }
char& operator[](unsigned int idx) { return ptr_[idx]; }
char operator[](unsigned int idx) const { return ptr_[idx]; }
char& operator[](long idx) { return ptr_[idx]; }
char operator[](long idx) const { return ptr_[idx]; }
char& operator[](unsigned long idx) { return ptr_[idx]; }
char operator[](unsigned long idx) const { return ptr_[idx]; }
operator char*&() const { return (char*&)ptr_; }
const char* in() const { return ptr_; }
char*& inout() { return ptr_; }
char*& out();
char* _retn();
char*& ptr() { return ptr_; }
String_var& operator+=(const char*);
String_var& operator+=(char);
String_var& operator+=(unsigned char);
String_var& operator+=(LongLong);
String_var& operator+=(ULongLong);
String_var& operator+=(long n)
{ return operator+=((LongLong)n); }
String_var& operator+=(unsigned long n)
{ return operator+=((ULongLong)n); }
String_var& operator+=(short n)
{ return operator+=((LongLong)n); }
String_var& operator+=(unsigned short n)
{ return operator+=((ULongLong)n); }
String_var& operator+=(int n)
{ return operator+=((LongLong)n); }
String_var& operator+=(unsigned int n)
{ return operator+=((ULongLong)n); }
friend class String_out;
};
class String_out;
}
namespace OB
{
class StrForStruct : public CORBA::String_var
{
public:
StrForStruct() : CORBA::String_var(OB::EmptyString) { }
StrForStruct(char* p) : CORBA::String_var(p) { }
StrForStruct(const char* p) : CORBA::String_var(p) { }
StrForStruct(const StrForStruct& r) : CORBA::String_var(r) { }
StrForStruct(const StrForSeq& r) : CORBA::String_var(r) { }
# 576 "../../include/OB/Basic.h"
StrForStruct& operator=(char* p)
{ CORBA::String_var::operator=(p); return *this; }
StrForStruct& operator=(const char* p)
{ CORBA::String_var::operator=(p); return *this; }
StrForStruct& operator=(const CORBA::String_var& r)
{ CORBA::String_var::operator=(r); return *this; }
StrForStruct& operator=(const StrForStruct& r)
{ CORBA::String_var::operator=(r); return *this; }
StrForStruct& operator=(const StrForSeq& r)
{ CORBA::String_var::operator=(r); return *this; }
};
class StrForSeq
{
char** ptr_;
CORBA::Boolean rel_;
public:
StrForSeq(char** p, CORBA::Boolean rel) : ptr_(p), rel_(rel) { }
StrForSeq(const StrForSeq& r) : ptr_(r.ptr_), rel_(r.rel_) { }
StrForSeq& operator=(char*);
StrForSeq& operator=(const char*);
StrForSeq& operator=(const CORBA::String_var&);
StrForSeq& operator=(const StrForStruct&);
StrForSeq& operator=(const StrForSeq&);
char& operator[](short idx) { return (*ptr_)[idx]; }
char operator[](short idx) const { return (*ptr_)[idx]; }
char& operator[](unsigned short idx) { return (*ptr_)[idx]; }
char operator[](unsigned short idx) const { return (*ptr_)[idx]; }
char& operator[](int idx) { return (*ptr_)[idx]; }
char operator[](int idx) const { return (*ptr_)[idx]; }
char& operator[](unsigned int idx) { return (*ptr_)[idx]; }
char operator[](unsigned int idx) const { return (*ptr_)[idx]; }
char& operator[](long idx) { return (*ptr_)[idx]; }
char operator[](long idx) const { return (*ptr_)[idx]; }
char& operator[](unsigned long idx) { return (*ptr_)[idx]; }
char operator[](unsigned long idx) const { return (*ptr_)[idx]; }
operator char*&() const { return (char*&)*ptr_; }
const char* in() const { return *ptr_; }
char*& inout() { return *ptr_; }
char*& out();
char* _retn();
char*& ptr() { return *ptr_; }
friend class CORBA::String_out;
};
}
namespace CORBA
{
class String_out
{
void operator=(const String_var&);
void operator=(const OB::StrForSeq&);
char*& ptr_;
public:
String_out(char*& p)
: ptr_(p)
{
ptr_ = 0;
}
String_out(String_var& p)
: ptr_(p.ptr_)
{
string_free(ptr_);
ptr_ = 0;
}
String_out(OB::StrForSeq& p)
: ptr_(*p.ptr_)
{
string_free(ptr_);
ptr_ = 0;
}
String_out(const String_out& p)
: ptr_(p.ptr_)
{
}
String_out& operator=(const String_out& p)
{
ptr_ = p.ptr_;
return *this;
}
String_out& operator=(char* p)
{
ptr_ = p;
return *this;
}
String_out& operator=(const char* p)
{
ptr_ = string_dup(p);
return *this;
}
char& operator[](short idx) { return ptr_[idx]; }
char& operator[](unsigned short idx) { return ptr_[idx]; }
char& operator[](int idx) { return ptr_[idx]; }
char& operator[](unsigned int idx) { return ptr_[idx]; }
char& operator[](long idx) { return ptr_[idx]; }
char& operator[](unsigned long idx) { return ptr_[idx]; }
operator char*&() { return ptr_; }
char*& ptr() { return ptr_; }
};
class WString_var
{
protected:
wchar_t* ptr_;
public:
WString_var() : ptr_(0) { }
WString_var(wchar_t*);
WString_var(const wchar_t* p) : ptr_(wstring_dup(p)) { }
WString_var(const WString_var&);
WString_var(const OB::WStrForSeq&);
WString_var(const OB::WStrForStruct&);
~WString_var() { wstring_free(ptr_); }
WString_var& operator=(wchar_t*);
WString_var& operator=(const wchar_t*);
WString_var& operator=(const WString_var&);
WString_var& operator=(const OB::WStrForStruct&);
WString_var& operator=(const OB::WStrForSeq&);
wchar_t& operator[](short idx) { return ptr_[idx]; }
wchar_t operator[](short idx) const { return ptr_[idx]; }
wchar_t& operator[](unsigned short idx) { return ptr_[idx]; }
wchar_t operator[](unsigned short idx) const { return ptr_[idx]; }
wchar_t& operator[](int idx) { return ptr_[idx]; }
wchar_t operator[](int idx) const { return ptr_[idx]; }
wchar_t& operator[](unsigned int idx) { return ptr_[idx]; }
wchar_t operator[](unsigned int idx) const { return ptr_[idx]; }
wchar_t& operator[](long idx) { return ptr_[idx]; }
wchar_t operator[](long idx) const { return ptr_[idx]; }
wchar_t& operator[](unsigned long idx) { return ptr_[idx]; }
wchar_t operator[](unsigned long idx) const { return ptr_[idx]; }
operator wchar_t*&() const { return (wchar_t*&)ptr_; }
const wchar_t* in() const { return ptr_; }
wchar_t*& inout() { return ptr_; }
wchar_t*& out();
wchar_t* _retn();
wchar_t*& ptr() { return ptr_; }
WString_var& operator+=(const wchar_t*);
WString_var& operator+=(wchar_t);
friend class WString_out;
};
class WString_out;
}
namespace OB
{
class WStrForStruct : public CORBA::WString_var
{
public:
WStrForStruct() : CORBA::WString_var(OB::EmptyWString) { }
WStrForStruct(wchar_t* p) : CORBA::WString_var(p) { }
WStrForStruct(const wchar_t* p) : CORBA::WString_var(p) { }
WStrForStruct(const WStrForStruct& r) : CORBA::WString_var(r) { }
WStrForStruct(const WStrForSeq& r) : CORBA::WString_var(r) { }
# 843 "../../include/OB/Basic.h"
WStrForStruct& operator=(wchar_t* p)
{ CORBA::WString_var::operator=(p); return *this; }
WStrForStruct& operator=(const wchar_t* p)
{ CORBA::WString_var::operator=(p); return *this; }
WStrForStruct& operator=(const CORBA::WString_var& r)
{ CORBA::WString_var::operator=(r); return *this; }
WStrForStruct& operator=(const WStrForStruct& r)
{ CORBA::WString_var::operator=(r); return *this; }
WStrForStruct& operator=(const WStrForSeq& r)
{ CORBA::WString_var::operator=(r); return *this; }
};
class WStrForSeq
{
wchar_t** ptr_;
CORBA::Boolean rel_;
public:
WStrForSeq(wchar_t** p, CORBA::Boolean rel) : ptr_(p), rel_(rel) { }
WStrForSeq(const WStrForSeq& r) : ptr_(r.ptr_), rel_(r.rel_) { }
WStrForSeq& operator=(wchar_t*);
WStrForSeq& operator=(const wchar_t*);
WStrForSeq& operator=(const CORBA::WString_var&);
WStrForSeq& operator=(const WStrForStruct&);
WStrForSeq& operator=(const WStrForSeq&);
wchar_t& operator[](short idx) { return (*ptr_)[idx]; }
wchar_t operator[](short idx) const { return (*ptr_)[idx]; }
wchar_t& operator[](unsigned short idx) { return (*ptr_)[idx]; }
wchar_t operator[](unsigned short idx) const { return (*ptr_)[idx]; }
wchar_t& operator[](int idx) { return (*ptr_)[idx]; }
wchar_t operator[](int idx) const { return (*ptr_)[idx]; }
wchar_t& operator[](unsigned int idx) { return (*ptr_)[idx]; }
wchar_t operator[](unsigned int idx) const { return (*ptr_)[idx]; }
wchar_t& operator[](long idx) { return (*ptr_)[idx]; }
wchar_t operator[](long idx) const { return (*ptr_)[idx]; }
wchar_t& operator[](unsigned long idx) { return (*ptr_)[idx]; }
wchar_t operator[](unsigned long idx) const { return (*ptr_)[idx]; }
operator wchar_t*&() const { return (wchar_t*&)*ptr_; }
const wchar_t* in() const { return *ptr_; }
wchar_t*& inout() { return *ptr_; }
wchar_t*& out();
wchar_t* _retn();
wchar_t*& ptr() { return *ptr_; }
friend class CORBA::WString_out;
};
}
namespace CORBA
{
class WString_out
{
void operator=(const WString_var&);
void operator=(const OB::WStrForSeq&);
WChar*& ptr_;
public:
WString_out(WChar*& p)
: ptr_(p)
{
ptr_ = 0;
}
WString_out(WString_var& p)
: ptr_(p.ptr_)
{
wstring_free(ptr_);
ptr_ = 0;
}
WString_out(OB::WStrForSeq& p)
: ptr_(*p.ptr_)
{
wstring_free(ptr_);
ptr_ = 0;
}
WString_out(const WString_out& p)
: ptr_(p.ptr_)
{
}
WString_out& operator=(const WString_out& p)
{
ptr_ = p.ptr_;
return *this;
}
WString_out& operator=(WChar* p)
{
ptr_ = p;
return *this;
}
WString_out& operator=(const WChar* p)
{
ptr_ = wstring_dup(p);
return *this;
}
wchar_t& operator[](short idx) { return ptr_[idx]; }
wchar_t& operator[](unsigned short idx) { return ptr_[idx]; }
wchar_t& operator[](int idx) { return ptr_[idx]; }
wchar_t& operator[](unsigned int idx) { return ptr_[idx]; }
wchar_t& operator[](long idx) { return ptr_[idx]; }
wchar_t& operator[](unsigned long idx) { return ptr_[idx]; }
operator wchar_t*&() { return ptr_; }
wchar_t*& ptr() { return ptr_; }
};
}
std::ostream& operator<<(std::ostream&, const CORBA::String_var&);
std::ostream& operator<<(std::ostream&, CORBA::String_out&);
std::ostream& operator<<(std::ostream&, const OB::StrForSeq&);
std::istream& operator>>(std::istream&, CORBA::String_var&);
std::istream& operator>>(std::istream&, CORBA::String_out&);
std::istream& operator>>(std::istream&, OB::StrForSeq&);
std::ostream& operator<<(std::ostream&, const CORBA::WString_var&);
std::ostream& operator<<(std::ostream&, CORBA::WString_out&);
std::ostream& operator<<(std::ostream&, const OB::WStrForSeq&);
# 1030 "../../include/OB/Basic.h"
namespace OB
{
# 1042 "../../include/OB/Basic.h"
const CORBA::Boolean Endian = true;
# 1061 "../../include/OB/Basic.h"
void* Alloc(size_t, CORBA::ULong);
void Free(void*);
CORBA::ULong Allocated(const void*);
bool AllocCheck(const void*);
char** StrSeqAllocbuf(CORBA::ULong);
void StrSeqFreebuf(char**);
wchar_t** WStrSeqAllocbuf(CORBA::ULong);
void WStrSeqFreebuf(wchar_t**);
char* OctetsToAscii(const CORBA::Octet*, CORBA::ULong);
CORBA::Octet* AsciiToOctets(const char*);
bool StringToULongLong(const char*, const char**, CORBA::UShort,
CORBA::ULongLong&);
bool StringToLongLong(const char*, const char**, CORBA::UShort,
CORBA::LongLong&);
char* ULongLongToString(CORBA::ULongLong);
char* LongLongToString(CORBA::LongLong);
class SimpleRefCount
{
CORBA::Long ref_;
SimpleRefCount(const SimpleRefCount&);
void operator=(const SimpleRefCount&);
public:
SimpleRefCount() : ref_(1) { }
virtual ~SimpleRefCount()
{ ( (int)(ref_ == 0) ? (void)0 : (OB::NCA(NCARefCountNotZero, "ref_ == 0", "../../include/OB/Basic.h", 1116), abort()) ); }
void _OB_incRef() { ++ref_; }
void _OB_decRef()
{
( (int)(ref_ > 0) ? (void)0 : (OB::NCA(NCARefCountZero, "ref_ > 0", "../../include/OB/Basic.h", 1129), abort()) );
if(--ref_ == 0)
delete this;
}
CORBA::ULong _OB_getRef() const { return (CORBA::ULong)ref_; }
void _OB_setRef(CORBA::ULong ref)
{ ref_ = (CORBA::Long)ref; (static_cast<void> ((ref_ >= 0) ? 0 : (__assert_fail ("ref_ >= 0", "../../include/OB/Basic.h", 1139, __PRETTY_FUNCTION__), 0))); }
};
# 1189 "../../include/OB/Basic.h"
class RefCount
{
CORBA::Long ref_;
JTCMutex mut_;
RefCount(const RefCount&);
void operator=(const RefCount&);
public:
RefCount() : ref_(1) { }
virtual ~RefCount() { ( (int)(ref_ == 0) ? (void)0 : (OB::NCA(NCARefCountNotZero, "ref_ == 0", "../../include/OB/Basic.h", 1203), abort()) ); }
void _OB_incRef() { JTCSynchronized sync(mut_); ++ref_; }
void _OB_decRef()
{
bool deleteThis;
{
JTCSynchronized sync(mut_);
( (int)(ref_ > 0) ? (void)0 : (OB::NCA(NCARefCountZero, "ref_ > 0", "../../include/OB/Basic.h", 1220), abort()) );
deleteThis = (--ref_ == 0);
}
if(deleteThis)
delete this;
}
CORBA::ULong _OB_getRef() const { return (CORBA::ULong)ref_; }
void _OB_setRef(CORBA::ULong ref)
{ JTCSynchronized sync(mut_); ref_ = (CORBA::Long)ref; (static_cast<void> ((ref_ >= 0) ? 0 : (__assert_fail ("ref_ >= 0", "../../include/OB/Basic.h", 1238, __PRETTY_FUNCTION__), 0))); }
};
class RefCountable
{
public:
virtual ~RefCountable() { }
virtual void _add_ref() = 0;
virtual void _remove_ref() = 0;
};
}
# 15 "../../include/OB/Template.h" 2
namespace OB
{
class InputStreamImpl;
class OutputStreamImpl;
# 32 "../../include/OB/Template.h"
template<class T>
class FixVar
{
T* ptr_;
public:
FixVar() : ptr_(0) { }
FixVar(T* p) : ptr_(p) { ( (int)(p != 0) ? (void)0 : (OB::NCA(NCANullInit, "p != 0", "../../include/OB/Template.h", 43), abort()) ); }
FixVar(const T& r) : ptr_(new T(r)) { }
FixVar(const FixVar<T>& r)
: ptr_(r.ptr_ ? new T(*r.ptr_) : 0) { }
~FixVar() { delete ptr_; }
FixVar<T>& operator=(T*);
FixVar<T>& operator=(const T&);
FixVar<T>& operator=(const FixVar<T>&);
T* operator->() const { ( (int)(ptr_ != 0) ? (void)0 : (OB::NCA(NCANullPtr, "ptr_ != 0", "../../include/OB/Template.h", 59), abort()) ); return ptr_; }
# 69 "../../include/OB/Template.h"
operator T&() const { ( (int)(ptr_ != 0) ? (void)0 : (OB::NCA(NCANullDeref, "ptr_ != 0", "../../include/OB/Template.h", 69), abort()) ); return *ptr_; }
const T& in() const { ( (int)(ptr_ != 0) ? (void)0 : (OB::NCA(NCANullDeref, "ptr_ != 0", "../../include/OB/Template.h", 76), abort()) ); return *ptr_; }
T& inout() { ( (int)(ptr_ != 0) ? (void)0 : (OB::NCA(NCANullDeref, "ptr_ != 0", "../../include/OB/Template.h", 77), abort()) ); return *ptr_; }
T& out()
{
if(ptr_ == 0)
ptr_ = new T;
return *ptr_;
}
const T& _retn() { ( (int)(ptr_ != 0) ? (void)0 : (OB::NCA(NCANullDeref, "ptr_ != 0", "../../include/OB/Template.h", 84), abort()) ); return *ptr_; }
T*& ptr() { return ptr_; }
};
template<class T> class VarOut;
template<class T>
class VarVar
{
friend class VarOut<T>;
T* ptr_;
public:
VarVar() : ptr_(0) { }
VarVar(T* p) : ptr_(p) { ( (int)(p != 0) ? (void)0 : (OB::NCA(NCANullInit, "p != 0", "../../include/OB/Template.h", 109), abort()) ); }
VarVar(const VarVar<T>& r)
: ptr_(r.ptr_ ? new T(*r.ptr_) : 0) { }
~VarVar() { delete ptr_; }
VarVar<T>& operator=(T*);
VarVar<T>& operator=(const VarVar<T>&);
T* operator->() const { ( (int)(ptr_ != 0) ? (void)0 : (OB::NCA(NCANullPtr, "ptr_ != 0", "../../include/OB/Template.h", 123), abort()) ); return ptr_; }
# 133 "../../include/OB/Template.h"
operator T&() const { ( (int)(ptr_ != 0) ? (void)0 : (OB::NCA(NCANullDeref, "ptr_ != 0", "../../include/OB/Template.h", 133), abort()) ); return *ptr_; }
operator T*&() { return ptr_; }
const T& in() const { ( (int)(ptr_ != 0) ? (void)0 : (OB::NCA(NCANullDeref, "ptr_ != 0", "../../include/OB/Template.h", 141), abort()) ); return *ptr_; }
T& inout() { ( (int)(ptr_ != 0) ? (void)0 : (OB::NCA(NCANullDeref, "ptr_ != 0", "../../include/OB/Template.h", 142), abort()) ); return *ptr_; }
T*& out() { delete ptr_; ptr_ = 0; return ptr_; }
T* _retn() { T* ret = ptr_; ptr_ = 0; return ret; }
T*& ptr() { return ptr_; }
};
template <class T> class SeqOut;
template<class T>
class SeqVar
{
friend class SeqOut<T>;
T* ptr_;
public:
SeqVar() : ptr_(0) { }
SeqVar(T* p) : ptr_(p) { ( (int)(p != 0) ? (void)0 : (OB::NCA(NCANullInit, "p != 0", "../../include/OB/Template.h", 169), abort()) ); }
SeqVar(const SeqVar<T>& r)
: ptr_(r.ptr_ ? new T(*r.ptr_) : 0) { }
~SeqVar() { delete ptr_; }
SeqVar<T>& operator=(T*);
SeqVar<T>& operator=(const SeqVar<T>&);
T* operator->() const { ( (int)(ptr_ != 0) ? (void)0 : (OB::NCA(NCANullPtr, "ptr_ != 0", "../../include/OB/Template.h", 183), abort()) ); return ptr_; }
# 193 "../../include/OB/Template.h"
typedef typename T::SubType SubType;
typedef typename T::ConstSubType ConstSubType;
SubType operator[](short idx)
{ ( (int)(ptr_ != 0) ? (void)0 : (OB::NCA(NCANullPtr, "ptr_ != 0", "../../include/OB/Template.h", 198), abort()) ); return ptr_ -> operator[](idx); }
SubType operator[](unsigned short idx)
{ ( (int)(ptr_ != 0) ? (void)0 : (OB::NCA(NCANullPtr, "ptr_ != 0", "../../include/OB/Template.h", 200), abort()) ); return ptr_ -> operator[](idx); }
# 209 "../../include/OB/Template.h"
ConstSubType operator[](short idx) const
{ ( (int)(ptr_ != 0) ? (void)0 : (OB::NCA(NCANullPtr, "ptr_ != 0", "../../include/OB/Template.h", 210), abort()) ); return ptr_ -> operator[](idx); }
ConstSubType operator[](unsigned short idx) const
{ ( (int)(ptr_ != 0) ? (void)0 : (OB::NCA(NCANullPtr, "ptr_ != 0", "../../include/OB/Template.h", 212), abort()) ); return ptr_ -> operator[](idx); }
SubType operator[](int idx)
{ ( (int)(ptr_ != 0) ? (void)0 : (OB::NCA(NCANullPtr, "ptr_ != 0", "../../include/OB/Template.h", 216), abort()) ); return ptr_ -> operator[](idx); }
SubType operator[](unsigned int idx)
{ ( (int)(ptr_ != 0) ? (void)0 : (OB::NCA(NCANullPtr, "ptr_ != 0", "../../include/OB/Template.h", 218), abort()) ); return ptr_ -> operator[](idx); }
# 227 "../../include/OB/Template.h"
ConstSubType operator[](int idx) const
{ ( (int)(ptr_ != 0) ? (void)0 : (OB::NCA(NCANullPtr, "ptr_ != 0", "../../include/OB/Template.h", 228), abort()) ); return ptr_ -> operator[](idx); }
ConstSubType operator[](unsigned int idx) const
{ ( (int)(ptr_ != 0) ? (void)0 : (OB::NCA(NCANullPtr, "ptr_ != 0", "../../include/OB/Template.h", 230), abort()) ); return ptr_ -> operator[](idx); }
SubType operator[](long idx)
{ ( (int)(ptr_ != 0) ? (void)0 : (OB::NCA(NCANullPtr, "ptr_ != 0", "../../include/OB/Template.h", 234), abort()) ); return ptr_ -> operator[](idx); }
SubType operator[](unsigned long idx)
{ ( (int)(ptr_ != 0) ? (void)0 : (OB::NCA(NCANullPtr, "ptr_ != 0", "../../include/OB/Template.h", 236), abort()) ); return ptr_ -> operator[](idx); }
# 245 "../../include/OB/Template.h"
ConstSubType operator[](long idx) const
{ ( (int)(ptr_ != 0) ? (void)0 : (OB::NCA(NCANullPtr, "ptr_ != 0", "../../include/OB/Template.h", 246), abort()) ); return ptr_ -> operator[](idx); }
ConstSubType operator[](unsigned long idx) const
{ ( (int)(ptr_ != 0) ? (void)0 : (OB::NCA(NCANullPtr, "ptr_ != 0", "../../include/OB/Template.h", 248), abort()) ); return ptr_ -> operator[](idx); }
operator T&() const { ( (int)(ptr_ != 0) ? (void)0 : (OB::NCA(NCANullDeref, "ptr_ != 0", "../../include/OB/Template.h", 255), abort()) ); return *ptr_; }
operator T*&() { return ptr_; }
const T& in() const { ( (int)(ptr_ != 0) ? (void)0 : (OB::NCA(NCANullDeref, "ptr_ != 0", "../../include/OB/Template.h", 263), abort()) ); return *ptr_; }
T& inout() { ( (int)(ptr_ != 0) ? (void)0 : (OB::NCA(NCANullDeref, "ptr_ != 0", "../../include/OB/Template.h", 264), abort()) ); return *ptr_; }
T*& out() { delete ptr_; ptr_ = 0; return ptr_; }
T* _retn() { T* ret = ptr_; ptr_ = 0; return ret; }
T*& ptr() { return ptr_; }
};
template<class T_slice, class T, CORBA::ULong n>
class FixArrayVar
{
T_slice* ptr_;
public:
FixArrayVar() : ptr_(0) { }
FixArrayVar(T_slice* p) : ptr_(p) { ( (int)(p != 0) ? (void)0 : (OB::NCA(NCANullInit, "p != 0", "../../include/OB/Template.h", 285), abort()) ); }
FixArrayVar(const FixArrayVar<T_slice, T, n>&);
~FixArrayVar() { delete [] (T*) ptr_; }
FixArrayVar<T_slice, T, n>& operator=(T_slice*);
FixArrayVar<T_slice, T, n>&
operator=(const FixArrayVar<T_slice, T, n>&);
T_slice& operator[](short idx) { return ptr_[idx]; }
const T_slice& operator[](short idx) const
{ return ((const T_slice*)ptr_)[idx]; }
T_slice& operator[](unsigned short idx) { return ptr_[idx]; }
const T_slice& operator[](unsigned short idx) const
{ return ((const T_slice*)ptr_)[idx]; }
T_slice& operator[](int idx) { return ptr_[idx]; }
const T_slice& operator[](int idx) const
{ return ((const T_slice*)ptr_)[idx]; }
T_slice& operator[](unsigned int idx) { return ptr_[idx]; }
const T_slice& operator[](unsigned int idx) const
{ return ((const T_slice*)ptr_)[idx]; }
T_slice& operator[](long idx) { return ptr_[idx]; }
const T_slice& operator[](long idx) const
{ return ((const T_slice*)ptr_)[idx]; }
T_slice& operator[](unsigned long idx) { return ptr_[idx]; }
const T_slice& operator[](unsigned long idx) const
{ return ((const T_slice*)ptr_)[idx]; }
# 320 "../../include/OB/Template.h"
operator T_slice*() const { return ptr_; }
# 334 "../../include/OB/Template.h"
const T_slice* in() const { return ptr_; }
T_slice* inout() { return ptr_; }
T_slice* out() { delete [] (T*) ptr_; ptr_ = 0; return ptr_; }
T_slice* _retn() { T_slice* ret = ptr_; ptr_ = 0; return ret; }
T_slice* ptr() { return ptr_; }
};
template<class T_slice, class T, CORBA::ULong n> class VarArrayOut;
template<class T_slice, class T, CORBA::ULong n>
class VarArrayVar
{
friend class VarArrayOut<T_slice, T, n>;
T_slice* ptr_;
public:
VarArrayVar() : ptr_(0) { }
VarArrayVar(T_slice* p) : ptr_(p) { ( (int)(p != 0) ? (void)0 : (OB::NCA(NCANullInit, "p != 0", "../../include/OB/Template.h", 360), abort()) ); }
VarArrayVar(const VarArrayVar<T_slice, T, n>&);
~VarArrayVar() { delete [] (T*) ptr_; }
VarArrayVar<T_slice, T, n>& operator=(T_slice*);
VarArrayVar<T_slice, T, n>&
operator=(const VarArrayVar<T_slice, T, n>&);
T_slice& operator[](short idx) { return ptr_[idx]; }
const T_slice& operator[](short idx) const
{ return ((const T_slice*)ptr_)[idx]; }
T_slice& operator[](unsigned short idx) { return ptr_[idx]; }
const T_slice& operator[](unsigned short idx) const
{ return ((const T_slice*)ptr_)[idx]; }
T_slice& operator[](int idx) { return ptr_[idx]; }
const T_slice& operator[](int idx) const
{ return ((const T_slice*)ptr_)[idx]; }
T_slice& operator[](unsigned int idx) { return ptr_[idx]; }
const T_slice& operator[](unsigned int idx) const
{ return ((const T_slice*)ptr_)[idx]; }
T_slice& operator[](long idx) { return ptr_[idx]; }
const T_slice& operator[](long idx) const
{ return ((const T_slice*)ptr_)[idx]; }
T_slice& operator[](unsigned long idx) { return ptr_[idx]; }
const T_slice& operator[](unsigned long idx) const
{ return ((const T_slice*)ptr_)[idx]; }
# 395 "../../include/OB/Template.h"
operator T_slice*&() const { return (T_slice*&)ptr_; }
# 409 "../../include/OB/Template.h"
const T_slice* in() const { return ptr_; }
T_slice* inout() { return ptr_; }
T_slice*& out() { delete [] (T*) ptr_; ptr_ = 0; return ptr_; }
T_slice* _retn() { T_slice* ret = ptr_; ptr_ = 0; return ret; }
T_slice* ptr() { return ptr_; }
};
template<class T_slice, class T, CORBA::ULong n, class U>
class FixArrayForAny
{
typedef U Unique;
T_slice* ptr_;
CORBA::Boolean nocopy_;
public:
FixArrayForAny() : ptr_(0), nocopy_(false) { }
FixArrayForAny(T_slice* p, CORBA::Boolean nc = false)
: ptr_(p), nocopy_(nc) { };
FixArrayForAny(const FixArrayForAny<T_slice, T, n, U>& r,
CORBA::Boolean nc = false)
: ptr_(r.ptr_), nocopy_(nc) { };
CORBA::Boolean nocopy() const { return nocopy_; }
FixArrayForAny<T_slice, T, n, U>& operator=(T_slice* p)
{ ptr_ = p; return *this; }
FixArrayForAny<T_slice, T, n, U>&
operator=(const FixArrayForAny<T_slice, T, n, U>& r)
{ ptr_ = r.ptr_; return *this; }
T_slice& operator[](short idx) { return ptr_[idx]; }
const T_slice& operator[](short idx) const
{ return ((const T_slice*)ptr_)[idx]; }
T_slice& operator[](unsigned short idx) { return ptr_[idx]; }
const T_slice& operator[](unsigned short idx) const
{ return ((const T_slice*)ptr_)[idx]; }
T_slice& operator[](int idx) { return ptr_[idx]; }
const T_slice& operator[](int idx) const
{ return ((const T_slice*)ptr_)[idx]; }
T_slice& operator[](unsigned int idx) { return ptr_[idx]; }
const T_slice& operator[](unsigned int idx) const
{ return ((const T_slice*)ptr_)[idx]; }
T_slice& operator[](long idx) { return ptr_[idx]; }
const T_slice& operator[](long idx) const
{ return ((const T_slice*)ptr_)[idx]; }
T_slice& operator[](unsigned long idx) { return ptr_[idx]; }
const T_slice& operator[](unsigned long idx) const
{ return ((const T_slice*)ptr_)[idx]; }
# 481 "../../include/OB/Template.h"
operator T_slice*() const { return ptr_; }
# 495 "../../include/OB/Template.h"
const T_slice* in() const { return ptr_; }
T_slice* inout() { return ptr_; }
T_slice* out() { delete [] (T*) ptr_; ptr_ = 0; return ptr_; }
T_slice* _retn() { T_slice* ret = ptr_; ptr_ = 0; return ret; }
T_slice* ptr() { return ptr_; }
};
template<class T_slice, class T, CORBA::ULong n, class U>
class VarArrayForAny
{
typedef U Unique;
T_slice* ptr_;
CORBA::Boolean nocopy_;
public:
VarArrayForAny() : ptr_(0), nocopy_(false) { }
VarArrayForAny(T_slice* p, CORBA::Boolean nc = false)
: ptr_(p), nocopy_(nc) { };
VarArrayForAny(const VarArrayForAny<T_slice, T, n, U>& r,
CORBA::Boolean nc = false)
: ptr_(r.ptr_), nocopy_(nc) { };
CORBA::Boolean nocopy() const { return nocopy_; }
VarArrayForAny<T_slice, T, n, U>& operator=(T_slice* p)
{ ptr_ = p; return *this; }
VarArrayForAny<T_slice, T, n, U>&
operator=(const VarArrayForAny<T_slice, T, n, U>& r)
{ ptr_ = r.ptr_; return *this; }
T_slice& operator[](short idx) { return ptr_[idx]; }
const T_slice& operator[](short idx) const
{ return ((const T_slice*)ptr_)[idx]; }
T_slice& operator[](unsigned short idx) { return ptr_[idx]; }
const T_slice& operator[](unsigned short idx) const
{ return ((const T_slice*)ptr_)[idx]; }
T_slice& operator[](int idx) { return ptr_[idx]; }
const T_slice& operator[](int idx) const
{ return ((const T_slice*)ptr_)[idx]; }
T_slice& operator[](unsigned int idx) { return ptr_[idx]; }
const T_slice& operator[](unsigned int idx) const
{ return ((const T_slice*)ptr_)[idx]; }
T_slice& operator[](long idx) { return ptr_[idx]; }
const T_slice& operator[](long idx) const
{ return ((const T_slice*)ptr_)[idx]; }
T_slice& operator[](unsigned long idx) { return ptr_[idx]; }
const T_slice& operator[](unsigned long idx) const
{ return ((const T_slice*)ptr_)[idx]; }
# 567 "../../include/OB/Template.h"
operator T_slice*&() const { return (T_slice*&)ptr_; }
# 581 "../../include/OB/Template.h"
const T_slice* in() const { return ptr_; }
T_slice* inout() { return ptr_; }
T_slice*& out() { delete [] (T*) ptr_; ptr_ = 0; return ptr_; }
T_slice* _retn() { T_slice* ret = ptr_; ptr_ = 0; return ret; }
T_slice* ptr() { return ptr_; }
};
class ObjBase
{
};
template<class T> class ObjForSeq;
template<class T> class ObjOut;
template<class T>
class ObjVar : public ObjBase
{
ObjVar(const ObjBase&) { }
void operator=(const ObjBase&) { }
friend class ObjOut<T>;
T* ptr_;
public:
ObjVar() : ptr_(0) { }
ObjVar(T* p) : ptr_(p) { }
ObjVar(const ObjVar<T>& r) : ptr_(r.ptr_) { OBDuplicate(ptr_); }
ObjVar(const ObjForSeq<T>&);
~ObjVar() { OBRelease(ptr_); }
ObjVar<T>& operator=(T* p)
{
T* old = ptr_;
ptr_ = p;
OBRelease(old);
return *this;
}
ObjVar<T>& operator=(const ObjVar<T>& r)
{
if(r.ptr_ != ptr_)
{
T* old = ptr_;
ptr_ = r.ptr_;
OBDuplicate(ptr_);
OBRelease(old);
}
return *this;
}
ObjVar<T>& operator=(const ObjForSeq<T>&);
T* operator->() const { ( (int)(ptr_ != 0) ? (void)0 : (OB::NCA(NCANullPtr, "ptr_ != 0", "../../include/OB/Template.h", 651), abort()) ); return ptr_; }
operator T*&() const { return (T*&)ptr_; }
T* in() const { return ptr_; }
T*& inout() { return ptr_; }
T*& out() { T* old = ptr_; ptr_ = 0; OBRelease(old); return ptr_; }
T* _retn() { T* ret = ptr_; ptr_ = 0; return ret; }
T*& ptr() { return ptr_; }
};
template<class T>
class ObjForSeq : public ObjBase
{
void operator=(const ObjBase&) { }
ObjForSeq(const ObjBase&) { }
T** ptr_;
CORBA::Boolean rel_;
public:
ObjForSeq(T** p, CORBA::Boolean rel) : ptr_(p), rel_(rel) { }
ObjForSeq(const ObjForSeq<T>& r) : ptr_(r.ptr_), rel_(r.rel_) { }
ObjForSeq<T>& operator=(T* p)
{
if(rel_)
{
T* old = *ptr_;
*ptr_ = p;
OBRelease(old);
}
else
*ptr_ = p;
return *this;
}
ObjForSeq<T>& operator=(const ObjVar<T>& r)
{
if(r.in() != *ptr_)
{
if(rel_)
{
T* old = *ptr_;
*ptr_ = r.in();
OBDuplicate(*ptr_);
OBRelease(old);
}
else
{
*ptr_ = r.in();
OBDuplicate(*ptr_);
}
}
return *this;
}
ObjForSeq<T>& operator=(const ObjForSeq<T>& r)
{
if(*r.ptr_ != *ptr_)
{
if(rel_)
{
T* old = *ptr_;
*ptr_ = *r.ptr_;
OBDuplicate(*ptr_);
OBRelease(old);
}
else
{
*ptr_ = *r.ptr_;
OBDuplicate(*ptr_);
}
}
return *this;
}
T* operator->() const { ( (int)(*ptr_ != 0) ? (void)0 : (OB::NCA(NCANullPtr, "*ptr_ != 0", "../../include/OB/Template.h", 754), abort()) ); return *ptr_; }
operator T*&() const { return (T*&)*ptr_; }
T* in() const { return *ptr_; }
T*& inout() { return *ptr_; }
T*& out()
{
if(rel_)
{
T* old = *ptr_;
*ptr_ = 0;
OBRelease(old);
}
else
*ptr_ = 0;
return *ptr_;
}
T* _retn() { T* ret = *ptr_; *ptr_ = 0; return ret; }
T*& ptr() { return *ptr_; }
};
template<class T>
inline
ObjVar<T>::ObjVar(const ObjForSeq<T>& r)
: ptr_(r.in())
{
OBDuplicate(ptr_);
}
template<class T>
inline ObjVar<T>&
ObjVar<T>::operator=(const ObjForSeq<T>& r)
{
if(r.in() != ptr_)
{
T* old = ptr_;
ptr_ = r.in();
OBDuplicate(ptr_);
OBRelease(old);
}
return *this;
}
# 823 "../../include/OB/Template.h"
template <class T>
class VarOut
{
void operator=(const VarVar<T>&) { }
T*& ptr_;
public:
VarOut(T*& p)
: ptr_(p)
{
ptr_ = 0;
}
VarOut(VarVar<T>& p)
: ptr_(p.ptr_)
{
delete ptr_;
ptr_ = 0;
}
VarOut(const VarOut<T>& p)
: ptr_(p.ptr_)
{
}
VarOut<T>& operator=(const VarOut<T>& p)
{
ptr_ = p.ptr_;
return *this;
}
VarOut<T>& operator=(T* p)
{
ptr_ = p;
return *this;
}
T* operator->() { ( (int)(ptr_ != 0) ? (void)0 : (OB::NCA(NCANullPtr, "ptr_ != 0", "../../include/OB/Template.h", 868), abort()) ); return ptr_; }
operator T&() { ( (int)(ptr_ != 0) ? (void)0 : (OB::NCA(NCANullDeref, "ptr_ != 0", "../../include/OB/Template.h", 873), abort()) ); return *ptr_; }
operator T*&() { return ptr_; }
T*& ptr() { return ptr_; }
};
template<class T>
class SeqOut
{
void operator=(const SeqVar<T>&) { }
T*& ptr_;
public:
SeqOut(T*& p)
: ptr_(p)
{
ptr_ = 0;
}
SeqOut(SeqVar<T>& p)
: ptr_(p.ptr_)
{
delete ptr_;
ptr_ = 0;
}
SeqOut(const SeqOut<T>& p)
: ptr_(p.ptr_)
{
}
SeqOut<T>& operator=(const SeqOut<T>& p)
{
ptr_ = p.ptr_;
return *this;
}
SeqOut<T>& operator=(T* p)
{
ptr_ = p;
return *this;
}
T* operator->() { ( (int)(ptr_ != 0) ? (void)0 : (OB::NCA(NCANullPtr, "ptr_ != 0", "../../include/OB/Template.h", 928), abort()) ); return ptr_; }
typedef typename T::SubType SubType;
typedef typename T::ConstSubType ConstSubType;
SubType operator[](short idx)
{ ( (int)(ptr_ != 0) ? (void)0 : (OB::NCA(NCANullPtr, "ptr_ != 0", "../../include/OB/Template.h", 939), abort()) ); return ptr_ -> operator[](idx); }
SubType operator[](unsigned short idx)
{ ( (int)(ptr_ != 0) ? (void)0 : (OB::NCA(NCANullPtr, "ptr_ != 0", "../../include/OB/Template.h", 941), abort()) ); return ptr_ -> operator[](idx); }
SubType operator[](int idx)
{ ( (int)(ptr_ != 0) ? (void)0 : (OB::NCA(NCANullPtr, "ptr_ != 0", "../../include/OB/Template.h", 943), abort()) ); return ptr_ -> operator[](idx); }
SubType operator[](unsigned int idx)
{ ( (int)(ptr_ != 0) ? (void)0 : (OB::NCA(NCANullPtr, "ptr_ != 0", "../../include/OB/Template.h", 945), abort()) ); return ptr_ -> operator[](idx); }
SubType operator[](long idx)
{ ( (int)(ptr_ != 0) ? (void)0 : (OB::NCA(NCANullPtr, "ptr_ != 0", "../../include/OB/Template.h", 947), abort()) ); return ptr_ -> operator[](idx); }
SubType operator[](unsigned long idx)
{ ( (int)(ptr_ != 0) ? (void)0 : (OB::NCA(NCANullPtr, "ptr_ != 0", "../../include/OB/Template.h", 949), abort()) ); return ptr_ -> operator[](idx); }
operator T&() { ( (int)(ptr_ != 0) ? (void)0 : (OB::NCA(NCANullDeref, "ptr_ != 0", "../../include/OB/Template.h", 954), abort()) ); return *ptr_; }
operator T*&() { return ptr_; }
T*& ptr() { return ptr_; }
};
template<class T_slice, class T, CORBA::ULong n>
class VarArrayOut
{
void operator=(const VarArrayVar<T_slice, T, n>&) { }
T_slice*& ptr_;
public:
VarArrayOut(T_slice*& p)
: ptr_(p)
{
ptr_ = 0;
}
VarArrayOut(VarArrayVar<T_slice, T, n>& p)
: ptr_(p.ptr_)
{
delete[] ptr_;
ptr_ = 0;
}
VarArrayOut(const VarArrayOut<T_slice, T, n>& p)
: ptr_(p.ptr_)
{
}
VarArrayOut<T_slice, T, n>& operator=(const VarArrayOut<T_slice, T, n>& p)
{
ptr_ = p.ptr_;
return *this;
}
VarArrayOut<T_slice, T, n>& operator=(T_slice* p)
{
ptr_ = p;
return *this;
}
T_slice& operator[](short idx) { return ptr_[idx]; }
T_slice& operator[](unsigned short idx) { return ptr_[idx]; }
T_slice& operator[](int idx) { return ptr_[idx]; }
T_slice& operator[](unsigned int idx) { return ptr_[idx]; }
T_slice& operator[](long idx) { return ptr_[idx]; }
T_slice& operator[](unsigned long idx) { return ptr_[idx]; }
operator T_slice*&() { return ptr_; }
T_slice*& ptr() { return ptr_; }
};
template <class T>
class ObjOut
{
T*& ptr_;
public:
ObjOut(T*& p)
: ptr_(p)
{
ptr_ = 0;
}
ObjOut(ObjVar<T>& p)
: ptr_(p.ptr_)
{
T* old = ptr_;
ptr_ = 0;
OBRelease(old);
}
ObjOut(const ObjOut<T>& p)
: ptr_(p.ptr_)
{
}
ObjOut<T>& operator=(const ObjOut<T>& p)
{
ptr_ = p.ptr_;
return *this;
}
ObjOut<T>& operator=(const ObjVar<T>& p)
{
OBDuplicate(p);
ptr_ = p.in();
return *this;
}
ObjOut<T>& operator=(T* p)
{
ptr_ = p;
return *this;
}
T* operator->() { ( (int)(ptr_ != 0) ? (void)0 : (OB::NCA(NCANullPtr, "ptr_ != 0", "../../include/OB/Template.h", 1075), abort()) ); return ptr_; }
operator T*&() { return ptr_; }
T*& ptr() { return ptr_; }
};
# 1093 "../../include/OB/Template.h"
template<class T, class U>
class FixSeq
{
typedef U Unique;
CORBA::ULong max_;
CORBA::ULong len_;
CORBA::Boolean rel_;
T* data_;
public:
static T* allocbuf(CORBA::ULong n) { return new T[n]; }
static void freebuf(T* p) { delete [] p; }
FixSeq();
FixSeq(CORBA::ULong);
FixSeq(CORBA::ULong, CORBA::ULong, T*, CORBA::Boolean = false);
FixSeq(const FixSeq<T, U>&);
~FixSeq() { if(rel_) freebuf(data_); }
FixSeq<T, U>& operator=(const FixSeq<T, U>&);
CORBA::ULong maximum() const { return max_; }
void length(CORBA::ULong);
CORBA::ULong length() const { return len_; }
typedef T& SubType;
typedef const T& ConstSubType;
T& operator[](CORBA::ULong idx)
{ ( (int)(idx < len_) ? (void)0 : (OB::NCA(NCASeqRange, "idx < len_", "../../include/OB/Template.h", 1133), abort()) ); return data_[idx]; }
const T& operator[](CORBA::ULong idx) const
{ ( (int)(idx < len_) ? (void)0 : (OB::NCA(NCASeqRange, "idx < len_", "../../include/OB/Template.h", 1135), abort()) ); return data_[idx]; }
CORBA::Boolean release() const { return rel_; }
void replace(CORBA::ULong, CORBA::ULong, T*,
CORBA::Boolean = false);
T* get_buffer(CORBA::Boolean = false);
const T* get_buffer() const { return data_; }
};
template<class T, CORBA::ULong max, class U>
class BndFixSeq
{
typedef U Unique;
CORBA::ULong len_;
CORBA::Boolean rel_;
T* data_;
public:
static T* allocbuf(CORBA::ULong);
static void freebuf(T* p) { delete [] p; }
BndFixSeq();
BndFixSeq(CORBA::ULong, T*, CORBA::Boolean = false);
BndFixSeq(const BndFixSeq<T, max, U>&);
~BndFixSeq() { if(rel_) freebuf(data_); }
BndFixSeq<T, max, U>& operator=(const BndFixSeq<T, max, U>&);
CORBA::ULong maximum() const { return max; }
void length(CORBA::ULong);
CORBA::ULong length() const { return len_; }
typedef T& SubType;
typedef const T& ConstSubType;
T& operator[](CORBA::ULong idx)
{ ( (int)(idx < len_) ? (void)0 : (OB::NCA(NCASeqRange, "idx < len_", "../../include/OB/Template.h", 1185), abort()) ); return data_[idx]; }
const T& operator[](CORBA::ULong idx) const
{ ( (int)(idx < len_) ? (void)0 : (OB::NCA(NCASeqRange, "idx < len_", "../../include/OB/Template.h", 1187), abort()) ); return data_[idx]; }
CORBA::Boolean release() const { return rel_; }
void replace(CORBA::ULong, T*, CORBA::Boolean = false);
T* get_buffer(CORBA::Boolean = false);
const T* get_buffer() const { return data_; }
};
template<class T, class U>
class VarSeq
{
typedef U Unique;
CORBA::ULong max_;
CORBA::ULong len_;
CORBA::Boolean rel_;
T* data_;
public:
static T* allocbuf(CORBA::ULong n) { return new T[n]; }
static void freebuf(T* p) { delete [] p; }
VarSeq();
VarSeq(CORBA::ULong);
VarSeq(CORBA::ULong, CORBA::ULong, T*, CORBA::Boolean = false);
VarSeq(const VarSeq<T, U>&);
~VarSeq() { if(rel_) freebuf(data_); }
VarSeq<T, U>& operator=(const VarSeq<T, U>&);
CORBA::ULong maximum() const { return max_; }
void length(CORBA::ULong);
CORBA::ULong length() const { return len_; }
typedef T& SubType;
typedef const T& ConstSubType;
T& operator[](CORBA::ULong idx)
{ ( (int)(idx < len_) ? (void)0 : (OB::NCA(NCASeqRange, "idx < len_", "../../include/OB/Template.h", 1238), abort()) ); return data_[idx]; }
const T& operator[](CORBA::ULong idx) const
{ ( (int)(idx < len_) ? (void)0 : (OB::NCA(NCASeqRange, "idx < len_", "../../include/OB/Template.h", 1240), abort()) ); return data_[idx]; }
CORBA::Boolean release() const { return rel_; }
void replace(CORBA::ULong, CORBA::ULong, T*, CORBA::Boolean = false);
T* get_buffer(CORBA::Boolean = false);
const T* get_buffer() const { return data_; }
};
template<class T, CORBA::ULong max, class U>
class BndVarSeq
{
typedef U Unique;
CORBA::ULong len_;
CORBA::Boolean rel_;
T* data_;
public:
static T* allocbuf(CORBA::ULong);
static void freebuf(T* p) { delete [] p; }
BndVarSeq();
BndVarSeq(CORBA::ULong, T*, CORBA::Boolean = false);
BndVarSeq(const BndVarSeq<T, max, U>&);
~BndVarSeq() { if(rel_) freebuf(data_); }
BndVarSeq<T, max, U>& operator=(const BndVarSeq<T, max, U>&);
CORBA::ULong maximum() const { return max; }
void length(CORBA::ULong);
CORBA::ULong length() const { return len_; }
typedef T& SubType;
typedef const T& ConstSubType;
T& operator[](CORBA::ULong idx)
{ ( (int)(idx < len_) ? (void)0 : (OB::NCA(NCASeqRange, "idx < len_", "../../include/OB/Template.h", 1289), abort()) ); return data_[idx]; }
const T& operator[](CORBA::ULong idx) const
{ ( (int)(idx < len_) ? (void)0 : (OB::NCA(NCASeqRange, "idx < len_", "../../include/OB/Template.h", 1291), abort()) ); return data_[idx]; }
CORBA::Boolean release() const { return rel_; }
void replace(CORBA::ULong, T*, CORBA::Boolean = false);
T* get_buffer(CORBA::Boolean = false);
const T* get_buffer() const { return data_; }
};
template<class T_slice, class T, CORBA::ULong n, class U>
class FixArraySeq
{
typedef U Unique;
CORBA::ULong max_;
CORBA::ULong len_;
CORBA::Boolean rel_;
T_slice** data_;
public:
static T_slice** allocbuf(CORBA::ULong);
static void freebuf(T_slice**);
FixArraySeq();
FixArraySeq(CORBA::ULong);
FixArraySeq(CORBA::ULong, CORBA::ULong, T_slice**, CORBA::Boolean = false);
FixArraySeq(const FixArraySeq<T_slice, T, n, U>&);
~FixArraySeq() { if(rel_) freebuf(data_); }
FixArraySeq<T_slice, T, n, U>&
operator=(const FixArraySeq<T_slice, T, n, U>&);
CORBA::ULong maximum() const { return max_; }
void length(CORBA::ULong);
CORBA::ULong length() const { return len_; }
typedef T_slice*& SubType;
typedef const T_slice* ConstSubType;
T_slice*& operator[](CORBA::ULong idx)
{ ( (int)(idx < len_) ? (void)0 : (OB::NCA(NCASeqRange, "idx < len_", "../../include/OB/Template.h", 1343), abort()) ); return data_[idx]; }
const T_slice* operator[](CORBA::ULong idx) const
{ ( (int)(idx < len_) ? (void)0 : (OB::NCA(NCASeqRange, "idx < len_", "../../include/OB/Template.h", 1350), abort()) ); return data_[idx]; }
CORBA::Boolean release() const { return rel_; }
void replace(CORBA::ULong, CORBA::ULong, T_slice**,
CORBA::Boolean = false);
T_slice** get_buffer(CORBA::Boolean = false);
T_slice* const * get_buffer() const { return data_; }
};
template<class T_slice, class T, CORBA::ULong n, CORBA::ULong max, class U>
class BndFixArraySeq
{
typedef U Unique;
CORBA::ULong len_;
CORBA::Boolean rel_;
T_slice** data_;
public:
static T_slice** allocbuf(CORBA::ULong);
static void freebuf(T_slice**);
BndFixArraySeq();
BndFixArraySeq(CORBA::ULong, T_slice**, CORBA::Boolean = false);
BndFixArraySeq(const BndFixArraySeq<T_slice, T, n, max, U>&);
~BndFixArraySeq() { if(rel_) freebuf(data_); }
BndFixArraySeq<T_slice, T, n, max, U>&
operator=(const BndFixArraySeq<T_slice, T, n, max, U>&);
CORBA::ULong maximum() const { return max; }
void length(CORBA::ULong);
CORBA::ULong length() const { return len_; }
typedef T_slice*& SubType;
typedef const T_slice* ConstSubType;
T_slice*& operator[](CORBA::ULong idx)
{ ( (int)(idx < len_) ? (void)0 : (OB::NCA(NCASeqRange, "idx < len_", "../../include/OB/Template.h", 1402), abort()) ); return data_[idx]; }
const T_slice* operator[](CORBA::ULong idx) const
{ ( (int)(idx < len_) ? (void)0 : (OB::NCA(NCASeqRange, "idx < len_", "../../include/OB/Template.h", 1409), abort()) ); return data_[idx]; }
CORBA::Boolean release() const { return rel_; }
void replace(CORBA::ULong, T_slice**, CORBA::Boolean = false);
T_slice** get_buffer(CORBA::Boolean = false);
T_slice* const * get_buffer() const { return data_; }
};
template<class T_slice, class T, CORBA::ULong n, class U>
class VarArraySeq
{
typedef U Unique;
CORBA::ULong max_;
CORBA::ULong len_;
CORBA::Boolean rel_;
T_slice** data_;
public:
static T_slice** allocbuf(CORBA::ULong);
static void freebuf(T_slice**);
VarArraySeq();
VarArraySeq(CORBA::ULong);
VarArraySeq(CORBA::ULong, CORBA::ULong, T_slice**, CORBA::Boolean = false);
VarArraySeq(const VarArraySeq<T_slice, T, n, U>&);
~VarArraySeq() { if(rel_) freebuf(data_); }
VarArraySeq<T_slice, T, n, U>&
operator=(const VarArraySeq<T_slice, T, n, U>&);
CORBA::ULong maximum() const { return max_; }
void length(CORBA::ULong);
CORBA::ULong length() const { return len_; }
typedef T_slice*& SubType;
typedef const T_slice* ConstSubType;
T_slice*& operator[](CORBA::ULong idx)
{ ( (int)(idx < len_) ? (void)0 : (OB::NCA(NCASeqRange, "idx < len_", "../../include/OB/Template.h", 1462), abort()) ); return data_[idx]; }
const T_slice* operator[](CORBA::ULong idx) const
{ ( (int)(idx < len_) ? (void)0 : (OB::NCA(NCASeqRange, "idx < len_", "../../include/OB/Template.h", 1469), abort()) ); return data_[idx]; }
CORBA::Boolean release() const { return rel_; }
void replace(CORBA::ULong, CORBA::ULong, T_slice**,
CORBA::Boolean = false);
T_slice** get_buffer(CORBA::Boolean = false);
T_slice* const * get_buffer() const { return data_; }
};
template<class T_slice, class T, CORBA::ULong n, CORBA::ULong max, class U>
class BndVarArraySeq
{
typedef U Unique;
CORBA::ULong len_;
CORBA::Boolean rel_;
T_slice** data_;
public:
static T_slice** allocbuf(CORBA::ULong);
static void freebuf(T_slice**);
BndVarArraySeq();
BndVarArraySeq(CORBA::ULong, T_slice**, CORBA::Boolean = false);
BndVarArraySeq(const BndVarArraySeq<T_slice, T, n, max, U>&);
~BndVarArraySeq() { if(rel_) freebuf(data_); }
BndVarArraySeq<T_slice, T, n, max, U>&
operator=(const BndVarArraySeq<T_slice, T, n, max, U>&);
CORBA::ULong maximum() const { return max; }
void length(CORBA::ULong);
CORBA::ULong length() const { return len_; }
typedef T_slice*& SubType;
typedef const T_slice* ConstSubType;
T_slice*& operator[](CORBA::ULong idx)
{ ( (int)(idx < len_) ? (void)0 : (OB::NCA(NCASeqRange, "idx < len_", "../../include/OB/Template.h", 1521), abort()) ); return data_[idx]; }
const T_slice* operator[](CORBA::ULong idx) const
{ ( (int)(idx < len_) ? (void)0 : (OB::NCA(NCASeqRange, "idx < len_", "../../include/OB/Template.h", 1528), abort()) ); return data_[idx]; }
CORBA::Boolean release() const { return rel_; }
void replace(CORBA::ULong, T_slice**, CORBA::Boolean = false);
T_slice** get_buffer(CORBA::Boolean = false);
T_slice* const * get_buffer() const { return data_; }
};
template<class T, class U>
class ObjSeq
{
typedef U Unique;
CORBA::ULong max_;
CORBA::ULong len_;
CORBA::Boolean rel_;
T** data_;
public:
static T** allocbuf(CORBA::ULong);
static void freebuf(T**);
ObjSeq();
ObjSeq(CORBA::ULong);
ObjSeq(CORBA::ULong, CORBA::ULong, T**, CORBA::Boolean = false);
ObjSeq(const ObjSeq<T, U>&);
~ObjSeq() { if(rel_) freebuf(data_); }
ObjSeq<T, U>& operator=(const ObjSeq<T, U>&);
CORBA::ULong maximum() const { return max_; }
void length(CORBA::ULong);
CORBA::ULong length() const { return len_; }
typedef ObjForSeq<T> SubType;
typedef ObjForSeq<T> ConstSubType;
# 1587 "../../include/OB/Template.h"
ObjForSeq<T> operator[](CORBA::ULong idx) const
{
( (int)(idx < len_) ? (void)0 : (OB::NCA(NCASeqRange, "idx < len_", "../../include/OB/Template.h", 1589), abort()) );
return ObjForSeq<T>(&data_[idx], rel_);
}
CORBA::Boolean release() const { return rel_; }
void replace(CORBA::ULong, CORBA::ULong, T**,
CORBA::Boolean = false);
T** get_buffer(CORBA::Boolean = false);
T* const * get_buffer() const { return data_; }
};
template<class T, CORBA::ULong max, class U>
class BndObjSeq
{
typedef U Unique;
CORBA::ULong len_;
CORBA::Boolean rel_;
T** data_;
public:
static T** allocbuf(CORBA::ULong);
static void freebuf(T**);
BndObjSeq();
BndObjSeq(CORBA::ULong, T**, CORBA::Boolean = false);
BndObjSeq(const BndObjSeq<T, max, U>&);
~BndObjSeq() { if(rel_) freebuf(data_); }
BndObjSeq<T, max, U>&
operator=(const BndObjSeq<T, max, U>&);
CORBA::ULong maximum() const { return max; }
void length(CORBA::ULong);
CORBA::ULong length() const { return len_; }
typedef ObjForSeq<T> SubType;
typedef ObjForSeq<T> ConstSubType;
ObjForSeq<T> operator[](CORBA::ULong idx) const
{
( (int)(idx < len_) ? (void)0 : (OB::NCA(NCASeqRange, "idx < len_", "../../include/OB/Template.h", 1646), abort()) );
return ObjForSeq<T>(&data_[idx], rel_);
}
CORBA::Boolean release() const { return rel_; }
void replace(CORBA::ULong, T**,
CORBA::Boolean = false);
T** get_buffer(CORBA::Boolean = false);
T* const * get_buffer() const { return data_; }
};
template<class U>
class StrSeq
{
typedef U Unique;
CORBA::ULong max_;
CORBA::ULong len_;
CORBA::Boolean rel_;
char** data_;
public:
static char** allocbuf(CORBA::ULong n)
{ return OB::StrSeqAllocbuf(n); }
static void freebuf(char** p)
{ OB::StrSeqFreebuf(p); }
StrSeq();
StrSeq(CORBA::ULong);
StrSeq(CORBA::ULong, CORBA::ULong, char**, CORBA::Boolean = false);
StrSeq(const StrSeq<U>&);
~StrSeq() { if(rel_) freebuf(data_); }
StrSeq& operator=(const StrSeq<U>&);
CORBA::ULong maximum() const { return max_; }
void length(CORBA::ULong);
CORBA::ULong length() const { return len_; }
typedef StrForSeq SubType;
typedef const char* ConstSubType;
StrForSeq operator[](CORBA::ULong idx)
{
( (int)(idx < len_) ? (void)0 : (OB::NCA(NCASeqRange, "idx < len_", "../../include/OB/Template.h", 1703), abort()) );
return StrForSeq(&data_[idx], rel_);
}
const char* operator[](CORBA::ULong idx) const
{
( (int)(idx < len_) ? (void)0 : (OB::NCA(NCASeqRange, "idx < len_", "../../include/OB/Template.h", 1709), abort()) );
return data_[idx];
}
CORBA::Boolean release() const { return rel_; }
void replace(CORBA::ULong, CORBA::ULong, char**,
CORBA::Boolean = false);
char** get_buffer(CORBA::Boolean = false);
const char* const * get_buffer() const { return data_; }
};
template<CORBA::ULong max, class U>
class BndStrSeq
{
typedef U Unique;
CORBA::ULong len_;
CORBA::Boolean rel_;
char** data_;
public:
static char** allocbuf(CORBA::ULong);
static void freebuf(char** p)
{ OB::StrSeqFreebuf(p); }
BndStrSeq();
BndStrSeq(CORBA::ULong, char**, CORBA::Boolean = false);
BndStrSeq(const BndStrSeq<max, U>&);
~BndStrSeq() { if(rel_) freebuf(data_); }
BndStrSeq<max, U>& operator=(const BndStrSeq<max, U>&);
CORBA::ULong maximum() const { return max; }
void length(CORBA::ULong);
CORBA::ULong length() const { return len_; }
typedef StrForSeq SubType;
typedef const char* ConstSubType;
StrForSeq operator[](CORBA::ULong idx)
{
( (int)(idx < len_) ? (void)0 : (OB::NCA(NCASeqRange, "idx < len_", "../../include/OB/Template.h", 1763), abort()) );
return StrForSeq(&data_[idx], rel_);
}
const char* operator[](CORBA::ULong idx) const
{
( (int)(idx < len_) ? (void)0 : (OB::NCA(NCASeqRange, "idx < len_", "../../include/OB/Template.h", 1769), abort()) );
return data_[idx];
}
CORBA::Boolean release() const { return rel_; }
void replace(CORBA::ULong, char**,
CORBA::Boolean = false);
char** get_buffer(CORBA::Boolean = false);
const char* const * get_buffer() const { return data_; }
};
template<class U>
class WStrSeq
{
typedef U Unique;
CORBA::ULong max_;
CORBA::ULong len_;
CORBA::Boolean rel_;
wchar_t** data_;
public:
static wchar_t** allocbuf(CORBA::ULong n)
{ return OB::WStrSeqAllocbuf(n); }
static void freebuf(wchar_t** p)
{ OB::WStrSeqFreebuf(p); }
WStrSeq();
WStrSeq(CORBA::ULong);
WStrSeq(CORBA::ULong, CORBA::ULong, wchar_t**, CORBA::Boolean = false);
WStrSeq(const WStrSeq<U>&);
~WStrSeq() { if(rel_) freebuf(data_); }
WStrSeq& operator=(const WStrSeq<U>&);
CORBA::ULong maximum() const { return max_; }
void length(CORBA::ULong);
CORBA::ULong length() const { return len_; }
typedef WStrForSeq SubType;
typedef const wchar_t* ConstSubType;
WStrForSeq operator[](CORBA::ULong idx)
{
( (int)(idx < len_) ? (void)0 : (OB::NCA(NCASeqRange, "idx < len_", "../../include/OB/Template.h", 1826), abort()) );
return WStrForSeq(&data_[idx], rel_);
}
const wchar_t* operator[](CORBA::ULong idx) const
{
( (int)(idx < len_) ? (void)0 : (OB::NCA(NCASeqRange, "idx < len_", "../../include/OB/Template.h", 1832), abort()) );
return data_[idx];
}
CORBA::Boolean release() const { return rel_; }
void replace(CORBA::ULong, CORBA::ULong, wchar_t**,
CORBA::Boolean = false);
wchar_t** get_buffer(CORBA::Boolean = false);
const wchar_t* const * get_buffer() const { return data_; }
};
template<CORBA::ULong max, class U>
class BndWStrSeq
{
typedef U Unique;
CORBA::ULong len_;
CORBA::Boolean rel_;
wchar_t** data_;
public:
static wchar_t** allocbuf(CORBA::ULong);
static void freebuf(wchar_t** p)
{ OB::WStrSeqFreebuf(p); }
BndWStrSeq();
BndWStrSeq(CORBA::ULong, wchar_t**, CORBA::Boolean = false);
BndWStrSeq(const BndWStrSeq<max, U>&);
~BndWStrSeq() { if(rel_) freebuf(data_); }
BndWStrSeq<max, U>& operator=(const BndWStrSeq<max, U>&);
CORBA::ULong maximum() const { return max; }
void length(CORBA::ULong);
CORBA::ULong length() const { return len_; }
typedef WStrForSeq SubType;
typedef const wchar_t* ConstSubType;
WStrForSeq operator[](CORBA::ULong idx)
{
( (int)(idx < len_) ? (void)0 : (OB::NCA(NCASeqRange, "idx < len_", "../../include/OB/Template.h", 1886), abort()) );
return WStrForSeq(&data_[idx], rel_);
}
const wchar_t* operator[](CORBA::ULong idx) const
{
( (int)(idx < len_) ? (void)0 : (OB::NCA(NCASeqRange, "idx < len_", "../../include/OB/Template.h", 1892), abort()) );
return data_[idx];
}
CORBA::Boolean release() const { return rel_; }
void replace(CORBA::ULong, wchar_t**,
CORBA::Boolean = false);
wchar_t** get_buffer(CORBA::Boolean = false);
const wchar_t* const * get_buffer() const { return data_; }
};
class ConstructedInfo
{
ConstructedInfo(const ConstructedInfo&);
void operator=(const ConstructedInfo&);
void operator==(const ConstructedInfo&);
public:
ConstructedInfo() { };
virtual ~ConstructedInfo() { };
virtual void free(void*) const = 0;
virtual void* dup(const void*) const = 0;
virtual void marshal(const void*, OutputStreamImpl*) const = 0;
virtual void unmarshal(void*, InputStreamImpl*) const = 0;
};
# 1941 "../../include/OB/Template.h"
template<class T>
class Info : public ConstructedInfo
{
public:
Info() { };
virtual void free(void* p) const
{ delete (T*)p; }
virtual void* dup(const void* p) const
{ return new T(*(const T*)p); }
virtual void marshal(const void* p, OutputStreamImpl* out) const
{ ((const T*)p) -> _OB_marshal(out); }
virtual void unmarshal(void* p, InputStreamImpl* in) const
{ T::_OB_unmarshal(*(T*)p, in); }
};
}
# 1 "../../include/OB/TemplateI.h" 1
# 14 "../../include/OB/TemplateI.h"
# 1 "../../include/OB/Template.h" 1
# 15 "../../include/OB/TemplateI.h" 2
namespace OB
{
# 26 "../../include/OB/TemplateI.h"
template<class T>
FixVar<T>&
FixVar<T>::operator=(T* p)
{
( (int)(ptr_ == 0 || p != ptr_) ? (void)0 : (OB::NCA(NCASelfAssign, "ptr_ == 0 || p != ptr_", "../../include/OB/TemplateI.h", 30), abort()) );
delete ptr_;
ptr_ = p;
return *this;
}
template<class T>
FixVar<T>&
FixVar<T>::operator=(const T& t)
{
if(&t != ptr_)
{
T* oldPtr = ptr_;
ptr_ = new T(t);
delete oldPtr;
}
return *this;
}
template<class T>
FixVar<T>&
FixVar<T>::operator=(const FixVar<T>& r)
{
T* newPtr;
if(r.ptr_)
newPtr = new T(*r.ptr_);
else
newPtr = 0;
if(ptr_)
delete ptr_;
ptr_ = newPtr;
return *this;
}
template<class T>
VarVar<T>&
VarVar<T>::operator=(T* p)
{
( (int)(ptr_ == 0 || p != ptr_) ? (void)0 : (OB::NCA(NCASelfAssign, "ptr_ == 0 || p != ptr_", "../../include/OB/TemplateI.h", 75), abort()) );
delete ptr_;
ptr_ = p;
return *this;
}
template<class T>
VarVar<T>&
VarVar<T>::operator=(const VarVar<T>& r)
{
T* newPtr;
if(r.ptr_)
newPtr = new T(*r.ptr_);
else
newPtr = 0;
if(ptr_)
delete ptr_;
ptr_ = newPtr;
return *this;
}
template<class T>
SeqVar<T>&
SeqVar<T>::operator=(T* p)
{
( (int)(ptr_ == 0 || p != ptr_) ? (void)0 : (OB::NCA(NCASelfAssign, "ptr_ == 0 || p != ptr_", "../../include/OB/TemplateI.h", 107), abort()) );
delete ptr_;
ptr_ = p;
return *this;
}
template<class T>
SeqVar<T>&
SeqVar<T>::operator=(const SeqVar<T>& r)
{
T* newPtr;
if(r.ptr_)
newPtr = new T(*r.ptr_);
else
newPtr = 0;
if(ptr_)
delete ptr_;
ptr_ = newPtr;
return *this;
}
template<class T_slice, class T, CORBA::ULong n>
FixArrayVar<T_slice, T, n>::
FixArrayVar(const FixArrayVar<T_slice, T, n>& r)
{
if(r.ptr_)
{
ptr_ = (T_slice*) new T[n];
memcpy(ptr_, r.ptr_, n * sizeof(T));
}
else
ptr_ = 0;
}
template<class T_slice, class T, CORBA::ULong n>
FixArrayVar<T_slice, T, n>&
FixArrayVar<T_slice, T, n>::operator=(T_slice* p)
{
( (int)(ptr_ == 0 || p != ptr_) ? (void)0 : (OB::NCA(NCASelfAssign, "ptr_ == 0 || p != ptr_", "../../include/OB/TemplateI.h", 152), abort()) );
delete [] (T*) ptr_;
ptr_ = p;
return *this;
}
template<class T_slice, class T, CORBA::ULong n>
FixArrayVar<T_slice, T, n>&
FixArrayVar<T_slice, T, n>::
operator=(const FixArrayVar<T_slice, T, n>& r)
{
if(this != &r)
{
delete [] (T*) ptr_;
if(r.ptr_)
{
ptr_ = (T_slice*) new T[n];
memcpy(ptr_, r.ptr_, n * sizeof(T));
}
else
ptr_ = 0;
}
return *this;
}
template<class T_slice, class T, CORBA::ULong n>
VarArrayVar<T_slice, T, n>::
VarArrayVar(const VarArrayVar<T_slice, T, n>& r)
{
if(r.ptr_)
{
ptr_ = (T_slice*) new T[n];
T* to = (T*) ptr_;
T* from = (T*) r.ptr_;
for(CORBA::ULong i = 0 ; i < n ; i++)
to[i] = from[i];
}
else
ptr_ = 0;
}
template<class T_slice, class T, CORBA::ULong n>
VarArrayVar<T_slice, T, n>&
VarArrayVar<T_slice, T, n>::operator=(T_slice* p)
{
( (int)(ptr_ == 0 || p != ptr_) ? (void)0 : (OB::NCA(NCASelfAssign, "ptr_ == 0 || p != ptr_", "../../include/OB/TemplateI.h", 202), abort()) );
delete [] (T*) ptr_;
ptr_ = p;
return *this;
}
template<class T_slice, class T, CORBA::ULong n>
VarArrayVar<T_slice, T, n>&
VarArrayVar<T_slice, T, n>::
operator=(const VarArrayVar<T_slice, T, n>& r)
{
if(this != &r)
{
delete [] (T*) ptr_;
if(r.ptr_)
{
ptr_ = (T_slice*) new T[n];
T* to = (T*) ptr_;
T* from = (T*) r.ptr_;
for(CORBA::ULong i = 0 ; i < n ; i++)
to[i] = from[i];
}
else
ptr_ = 0;
}
return *this;
}
# 245 "../../include/OB/TemplateI.h"
template<class T, class U>
FixSeq<T, U>::FixSeq()
: max_(0), len_(0), rel_(true), data_(0)
{
}
template<class T, class U>
FixSeq<T, U>::FixSeq(CORBA::ULong m)
: max_(m), len_(0), rel_(true)
{
if(max_ > 0)
data_ = allocbuf(max_);
else
data_ = 0;
}
template<class T, class U>
FixSeq<T, U>::FixSeq(CORBA::ULong m, CORBA::ULong l, T* d, CORBA::Boolean r)
: max_(m), len_(l), rel_(r)
{
( (int)(len_ <= max_) ? (void)0 : (OB::NCA(NCASeqLenGrMax, "len_ <= max_", "../../include/OB/TemplateI.h", 265), abort()) );
data_ = d;
}
template<class T, class U>
FixSeq<T, U>::FixSeq(const FixSeq<T, U>& r)
: max_(0), len_(0), rel_(true), data_(0)
{
*this = r;
}
template<class T, class U>
FixSeq<T, U>&
FixSeq<T, U>::operator=(const FixSeq<T, U>& r)
{
if(this != &r)
{
if(rel_)
freebuf(data_);
max_ = r.max_;
len_ = r.len_;
rel_ = true;
if(max_ > 0)
{
data_ = allocbuf(max_);
if(len_)
memcpy(data_, r.data_, len_ * sizeof(T));
}
else
data_ = 0;
}
return *this;
}
template<class T, class U>
void
FixSeq<T, U>::length(CORBA::ULong newLen)
{
if(newLen > max_)
{
T* old = data_;
max_ = newLen > max_ * 2 ? newLen : max_ * 2;
data_ = allocbuf(max_);
if(len_)
memcpy(data_, old, len_ * sizeof(T));
if(rel_)
freebuf(old);
rel_ = true;
}
len_ = newLen;
}
template<class T, class U>
void
FixSeq<T, U>::replace(CORBA::ULong max, CORBA::ULong len, T* data,
CORBA::Boolean release)
{
if(rel_)
freebuf(data_);
max_ = max;
len_ = len;
rel_ = release;
( (int)(len_ <= max_) ? (void)0 : (OB::NCA(NCASeqLenGrMax, "len_ <= max_", "../../include/OB/TemplateI.h", 338), abort()) );
data_ = data;
}
template<class T, class U>
T*
FixSeq<T, U>::get_buffer(CORBA::Boolean orphan)
{
if(!orphan)
return data_;
if(!rel_)
return 0;
T* rc = data_;
max_ = 0;
len_ = 0;
rel_ = true;
data_ = 0;
return rc;
}
template<class T, CORBA::ULong max, class U>
T*
BndFixSeq<T, max, U>::allocbuf(CORBA::ULong n)
{
( (int)(n == max) ? (void)0 : (OB::NCA(NCASeqBound, "n == max", "../../include/OB/TemplateI.h", 384), abort()) );
return new T[n];
}
template<class T, CORBA::ULong max, class U>
BndFixSeq<T, max, U>::BndFixSeq()
: len_(0), rel_(true), data_(0)
{
}
template<class T, CORBA::ULong max, class U>
BndFixSeq<T, max, U>::BndFixSeq(CORBA::ULong l, T* d, CORBA::Boolean r)
: len_(l), rel_(r)
{
( (int)(len_ <= max) ? (void)0 : (OB::NCA(NCASeqLenGrMax, "len_ <= max", "../../include/OB/TemplateI.h", 398), abort()) );
data_ = d;
}
template<class T, CORBA::ULong max, class U>
BndFixSeq<T, max, U>::BndFixSeq(const BndFixSeq<T, max, U>& r)
: len_(0), rel_(true), data_(0)
{
*this = r;
}
template<class T, CORBA::ULong max, class U>
BndFixSeq<T, max, U>&
BndFixSeq<T, max, U>::operator=(const BndFixSeq<T, max, U>& r)
{
if(this != &r)
{
if(rel_)
freebuf(data_);
len_ = r.len_;
rel_ = true;
data_ = allocbuf(max);
if(len_)
memcpy(data_, r.data_, len_ * sizeof(T));
}
return *this;
}
template<class T, CORBA::ULong max, class U>
void
BndFixSeq<T, max, U>::length(CORBA::ULong newLen)
{
( (int)(newLen <= max) ? (void)0 : (OB::NCA(NCASeqLenGrMax, "newLen <= max", "../../include/OB/TemplateI.h", 434), abort()) );
if(!data_)
data_ = allocbuf(max);
len_ = newLen;
}
template<class T, CORBA::ULong max, class U>
void
BndFixSeq<T, max, U>::replace(CORBA::ULong len, T* data,
CORBA::Boolean release)
{
if(rel_)
freebuf(data_);
len_ = len;
rel_ = release;
( (int)(len_ <= max) ? (void)0 : (OB::NCA(NCASeqLenGrMax, "len_ <= max", "../../include/OB/TemplateI.h", 453), abort()) );
data_ = data;
}
template<class T, CORBA::ULong max, class U>
T*
BndFixSeq<T, max, U>::get_buffer(CORBA::Boolean orphan)
{
if(!data_)
data_ = allocbuf(max);
if(!orphan)
return data_;
if(!rel_)
return 0;
T* rc = data_;
len_ = 0;
rel_ = true;
data_ = allocbuf(max);
return rc;
}
template<class T, class U>
VarSeq<T, U>::VarSeq()
: max_(0), len_(0), rel_(true), data_(0)
{
}
template<class T, class U>
VarSeq<T, U>::VarSeq(CORBA::ULong m)
: max_(m), len_(0), rel_(true)
{
if(max_ > 0)
data_ = allocbuf(max_);
else
data_ = 0;
}
template<class T, class U>
VarSeq<T, U>::VarSeq(CORBA::ULong m, CORBA::ULong l, T* d, CORBA::Boolean r)
: max_(m), len_(l), rel_(r)
{
( (int)(len_ <= max_) ? (void)0 : (OB::NCA(NCASeqLenGrMax, "len_ <= max_", "../../include/OB/TemplateI.h", 517), abort()) );
data_ = d;
}
template<class T, class U>
VarSeq<T, U>::VarSeq(const VarSeq<T, U>& r)
: max_(0), len_(0), rel_(true), data_(0)
{
*this = r;
}
template<class T, class U>
VarSeq<T, U>&
VarSeq<T, U>::operator=(const VarSeq<T, U>& r)
{
if(this != &r)
{
if(rel_)
freebuf(data_);
max_ = r.max_;
len_ = r.len_;
rel_ = true;
if(max_ > 0)
data_ = allocbuf(max_);
else
data_ = 0;
for(CORBA::ULong i = 0 ; i < len_ ; i++)
data_[i] = r.data_[i];
}
return *this;
}
template<class T, class U>
void
VarSeq<T, U>::length(CORBA::ULong newLen)
{
if(newLen < len_ && rel_)
{
for(CORBA::ULong i = newLen ; i < len_ ; i++)
data_[i] = T();
}
else if(newLen > max_)
{
T* old = data_;
max_ = newLen > max_ * 2 ? newLen : max_ * 2;
data_ = allocbuf(max_);
for(CORBA::ULong i = 0 ; i < len_ ; i++)
data_[i] = old[i];
if(rel_)
freebuf(old);
rel_ = true;
}
len_ = newLen;
}
template<class T, class U>
void
VarSeq<T, U>::replace(CORBA::ULong max, CORBA::ULong len, T* data,
CORBA::Boolean release)
{
if(rel_)
freebuf(data_);
max_ = max;
len_ = len;
rel_ = release;
( (int)(len_ <= max_) ? (void)0 : (OB::NCA(NCASeqLenGrMax, "len_ <= max_", "../../include/OB/TemplateI.h", 593), abort()) );
data_ = data;
}
template<class T, class U>
T*
VarSeq<T, U>::get_buffer(CORBA::Boolean orphan)
{
if(!orphan)
return data_;
if(!rel_)
return 0;
T* rc = data_;
max_ = 0;
len_ = 0;
rel_ = true;
data_ = 0;
return rc;
}
template<class T, CORBA::ULong max, class U>
T*
BndVarSeq<T, max, U>::allocbuf(CORBA::ULong n)
{
( (int)(n == max) ? (void)0 : (OB::NCA(NCASeqBound, "n == max", "../../include/OB/TemplateI.h", 639), abort()) );
return new T[n];
}
template<class T, CORBA::ULong max, class U>
BndVarSeq<T, max, U>::BndVarSeq()
: len_(0), rel_(true), data_(0)
{
}
template<class T, CORBA::ULong max, class U>
BndVarSeq<T, max, U>::BndVarSeq(CORBA::ULong l, T* d, CORBA::Boolean r)
: len_(l), rel_(r)
{
( (int)(len_ <= max) ? (void)0 : (OB::NCA(NCASeqLenGrMax, "len_ <= max", "../../include/OB/TemplateI.h", 653), abort()) );
data_ = d;
}
template<class T, CORBA::ULong max, class U>
BndVarSeq<T, max, U>::BndVarSeq(const BndVarSeq<T, max, U>& r)
: len_(0), rel_(true), data_(0)
{
*this = r;
}
template<class T, CORBA::ULong max, class U>
BndVarSeq<T, max, U>&
BndVarSeq<T, max, U>::operator=(const BndVarSeq<T, max, U>& r)
{
if(this != &r)
{
if(rel_)
freebuf(data_);
len_ = r.len_;
rel_ = true;
data_ = allocbuf(max);
for(CORBA::ULong i = 0 ; i < len_ ; i++)
data_[i] = r.data_[i];
}
return *this;
}
template<class T, CORBA::ULong max, class U>
void
BndVarSeq<T, max, U>::length(CORBA::ULong newLen)
{
( (int)(newLen <= max) ? (void)0 : (OB::NCA(NCASeqLenGrMax, "newLen <= max", "../../include/OB/TemplateI.h", 689), abort()) );
if(!data_)
data_ = allocbuf(max);
if(newLen < len_ && rel_)
{
for(CORBA::ULong i = newLen ; i < len_ ; i++)
data_[i] = T();
}
len_ = newLen;
}
template<class T, CORBA::ULong max, class U>
void
BndVarSeq<T, max, U>::replace(CORBA::ULong len, T* data,
CORBA::Boolean release)
{
if(rel_)
freebuf(data_);
len_ = len;
rel_ = release;
( (int)(len_ <= max) ? (void)0 : (OB::NCA(NCASeqLenGrMax, "len_ <= max", "../../include/OB/TemplateI.h", 714), abort()) );
data_ = data;
}
template<class T, CORBA::ULong max, class U>
T*
BndVarSeq<T, max, U>::get_buffer(CORBA::Boolean orphan)
{
if(!data_)
data_ = allocbuf(max);
if(!orphan)
return data_;
if(!rel_)
return 0;
T* rc = data_;
len_ = 0;
rel_ = true;
data_ = allocbuf(max);
return rc;
}
template<class T_slice, class T, CORBA::ULong n, class U>
T_slice**
FixArraySeq<T_slice, T, n, U>::allocbuf(CORBA::ULong nn)
{
T_slice** p = (T_slice**) Alloc(sizeof(T_slice*), nn);
for(CORBA::ULong i = 0 ; i < nn ; i++)
p[i] = (T_slice*) new T[n];
return p;
}
template<class T_slice, class T, CORBA::ULong n, class U>
void
FixArraySeq<T_slice, T, n, U>::freebuf(T_slice** p)
{
if(p)
{
CORBA::ULong nn = Allocated(p);
for(CORBA::ULong i = 0 ; i < nn ; i++)
delete [] (T*) p[i];
Free(p);
}
}
template<class T_slice, class T, CORBA::ULong n, class U>
FixArraySeq<T_slice, T, n, U>::FixArraySeq()
: max_(0), len_(0), rel_(true), data_(0)
{
}
template<class T_slice, class T, CORBA::ULong n, class U>
FixArraySeq<T_slice, T, n, U>::FixArraySeq(CORBA::ULong m)
: max_(m), len_(0), rel_(true)
{
if(max_ > 0)
data_ = allocbuf(max_);
else
data_ = 0;
}
template<class T_slice, class T, CORBA::ULong n, class U>
FixArraySeq<T_slice, T, n, U>::
FixArraySeq(CORBA::ULong m, CORBA::ULong l, T_slice** d, CORBA::Boolean r)
: max_(m), len_(l), rel_(r)
{
( (int)(len_ <= max_) ? (void)0 : (OB::NCA(NCASeqLenGrMax, "len_ <= max_", "../../include/OB/TemplateI.h", 806), abort()) );
data_ = d;
}
template<class T_slice, class T, CORBA::ULong n, class U>
FixArraySeq<T_slice, T, n, U>::
FixArraySeq(const FixArraySeq<T_slice, T, n, U>& r)
: max_(0), len_(0), rel_(true), data_(0)
{
*this = r;
}
template<class T_slice, class T, CORBA::ULong n, class U>
FixArraySeq<T_slice, T, n, U>&
FixArraySeq<T_slice, T, n, U>::operator=(const
FixArraySeq<T_slice, T, n, U>& r)
{
if(this != &r)
{
if(rel_)
freebuf(data_);
max_ = r.max_;
len_ = r.len_;
rel_ = true;
if(max_ > 0)
data_ = allocbuf(max_);
else
data_ = 0;
for(CORBA::ULong i = 0 ; i < len_ ; i++)
memcpy(data_[i], r.data_[i], n * sizeof(T));
}
return *this;
}
template<class T_slice, class T, CORBA::ULong n, class U>
void
FixArraySeq<T_slice, T, n, U>::length(CORBA::ULong newLen)
{
if(newLen > max_)
{
T_slice** old = data_;
max_ = newLen > max_ * 2 ? newLen : max_ * 2;
data_ = allocbuf(max_);
for(CORBA::ULong i = 0 ; i < len_ ; i++)
memcpy(data_[i], old[i], n * sizeof(T));
if(rel_)
freebuf(old);
rel_ = true;
}
len_ = newLen;
}
template<class T_slice, class T, CORBA::ULong n, class U>
void
FixArraySeq<T_slice, T, n, U>::replace(CORBA::ULong max, CORBA::ULong len,
T_slice** data, CORBA::Boolean release)
{
if(rel_)
freebuf(data_);
max_ = max;
len_ = len;
rel_ = release;
( (int)(len_ <= max_) ? (void)0 : (OB::NCA(NCASeqLenGrMax, "len_ <= max_", "../../include/OB/TemplateI.h", 879), abort()) );
data_ = data;
}
template<class T_slice, class T, CORBA::ULong n, class U>
T_slice**
FixArraySeq<T_slice, T, n, U>::get_buffer(CORBA::Boolean orphan)
{
if(!orphan)
return data_;
if(!rel_)
return 0;
T_slice** rc = data_;
max_ = 0;
len_ = 0;
rel_ = true;
data_ = 0;
return rc;
}
template<class T_slice, class T, CORBA::ULong n, CORBA::ULong max, class U>
T_slice**
BndFixArraySeq<T_slice, T, n, max, U>::allocbuf(CORBA::ULong nn)
{
( (int)(nn == max) ? (void)0 : (OB::NCA(NCASeqBound, "nn == max", "../../include/OB/TemplateI.h", 925), abort()) );
T_slice** p = (T_slice**) Alloc(sizeof(T_slice*), nn);
for(CORBA::ULong i = 0 ; i < nn ; i++)
p[i] = (T_slice*) new T[n];
return p;
}
template<class T_slice, class T, CORBA::ULong n, CORBA::ULong max, class U>
void
BndFixArraySeq<T_slice, T, n, max, U>::freebuf(T_slice** p)
{
if(p)
{
CORBA::ULong num = Allocated(p);
for(CORBA::ULong i = 0 ; i < num ; i++)
delete [] (T*) p[i];
Free(p);
}
}
template<class T_slice, class T, CORBA::ULong n, CORBA::ULong max, class U>
BndFixArraySeq<T_slice, T, n, max, U>::BndFixArraySeq()
: len_(0), rel_(true), data_(0)
{
}
template<class T_slice, class T, CORBA::ULong n, CORBA::ULong max, class U>
BndFixArraySeq<T_slice, T, n, max, U>::BndFixArraySeq(CORBA::ULong l,
T_slice** d,
CORBA::Boolean r)
: len_(l), rel_(r)
{
( (int)(len_ <= max) ? (void)0 : (OB::NCA(NCASeqLenGrMax, "len_ <= max", "../../include/OB/TemplateI.h", 962), abort()) );
data_ = d;
}
template<class T_slice, class T, CORBA::ULong n, CORBA::ULong max, class U>
BndFixArraySeq<T_slice, T, n, max, U>::
BndFixArraySeq(const BndFixArraySeq<T_slice, T, n, max, U>& r)
: len_(0), rel_(true), data_(0)
{
*this = r;
}
template<class T_slice, class T, CORBA::ULong n, CORBA::ULong max, class U>
BndFixArraySeq<T_slice, T, n, max, U>&
BndFixArraySeq<T_slice, T, n, max, U>::
operator=(const BndFixArraySeq<T_slice, T, n, max, U>& r)
{
if(this != &r)
{
if(rel_)
freebuf(data_);
len_ = r.len_;
rel_ = true;
data_ = allocbuf(max);
for(CORBA::ULong i = 0 ; i < len_ ; i++)
memcpy(data_[i], r.data_[i], n * sizeof(T));
}
return *this;
}
template<class T_slice, class T, CORBA::ULong n, CORBA::ULong max, class U>
void
BndFixArraySeq<T_slice, T, n, max, U>::length(CORBA::ULong newLen)
{
( (int)(newLen <= max) ? (void)0 : (OB::NCA(NCASeqLenGrMax, "newLen <= max", "../../include/OB/TemplateI.h", 1000), abort()) );
if(!data_)
data_ = allocbuf(max);
len_ = newLen;
}
template<class T_slice, class T, CORBA::ULong n, CORBA::ULong max, class U>
void
BndFixArraySeq<T_slice, T, n, max, U>::replace(CORBA::ULong len,
T_slice** data,
CORBA::Boolean release)
{
if(rel_)
freebuf(data_);
len_ = len;
rel_ = release;
( (int)(len_ <= max) ? (void)0 : (OB::NCA(NCASeqLenGrMax, "len_ <= max", "../../include/OB/TemplateI.h", 1020), abort()) );
data_ = data;
}
template<class T_slice, class T, CORBA::ULong n, CORBA::ULong max, class U>
T_slice**
BndFixArraySeq<T_slice, T, n, max, U>::get_buffer(CORBA::Boolean orphan)
{
if(!data_)
data_ = allocbuf(max);
if(!orphan)
return data_;
if(!rel_)
return 0;
T_slice** rc = data_;
len_ = 0;
rel_ = true;
data_ = allocbuf(max);
return rc;
}
template<class T_slice, class T, CORBA::ULong n, class U>
T_slice**
VarArraySeq<T_slice, T, n, U>::allocbuf(CORBA::ULong nn)
{
T_slice** p = (T_slice**) Alloc(sizeof(T_slice*), nn);
for(CORBA::ULong i = 0 ; i < nn ; i++)
p[i] = (T_slice*) new T[n];
return p;
}
template<class T_slice, class T, CORBA::ULong n, class U>
void
VarArraySeq<T_slice, T, n, U>::freebuf(T_slice** p)
{
if(p)
{
CORBA::ULong nn = Allocated(p);
for(CORBA::ULong i = 0 ; i < nn ; i++)
delete [] (T*) p[i];
Free(p);
}
}
template<class T_slice, class T, CORBA::ULong n, class U>
VarArraySeq<T_slice, T, n, U>::VarArraySeq()
: max_(0), len_(0), rel_(true), data_(0)
{
}
template<class T_slice, class T, CORBA::ULong n, class U>
VarArraySeq<T_slice, T, n, U>::VarArraySeq(CORBA::ULong m)
: max_(m), len_(0), rel_(true)
{
if(max_ > 0)
data_ = allocbuf(max_);
else
data_ = 0;
}
template<class T_slice, class T, CORBA::ULong n, class U>
VarArraySeq<T_slice, T, n, U>::VarArraySeq(CORBA::ULong m, CORBA::ULong l,
T_slice** d, CORBA::Boolean r)
: max_(m), len_(l), rel_(r)
{
( (int)(len_ <= max_) ? (void)0 : (OB::NCA(NCASeqLenGrMax, "len_ <= max_", "../../include/OB/TemplateI.h", 1112), abort()) );
data_ = d;
}
template<class T_slice, class T, CORBA::ULong n, class U>
VarArraySeq<T_slice, T, n, U>::
VarArraySeq(const VarArraySeq<T_slice, T, n, U>& r)
: max_(0), len_(0), rel_(true), data_(0)
{
*this = r;
}
template<class T_slice, class T, CORBA::ULong n, class U>
VarArraySeq<T_slice, T, n, U>&
VarArraySeq<T_slice, T, n, U>::
operator=(const VarArraySeq<T_slice, T, n, U>& r)
{
if(this != &r)
{
if(rel_)
freebuf(data_);
max_ = r.max_;
len_ = r.len_;
rel_ = true;
if(max_ > 0)
data_ = allocbuf(max_);
else
data_ = 0;
for(CORBA::ULong i = 0 ; i < len_ ; i++)
{
T* to = (T*) data_[i];
T* from = (T*) r.data_[i];
for(CORBA::ULong j = 0 ; j < n ; j++)
to[j] = from[j];
}
}
return *this;
}
template<class T_slice, class T, CORBA::ULong n, class U>
void
VarArraySeq<T_slice, T, n, U>::length(CORBA::ULong newLen)
{
if(newLen < len_ && rel_)
{
for(CORBA::ULong i = newLen ; i < len_ ; i++)
{
T* p = (T*) data_[i];
for(CORBA::ULong j = 0 ; j < n ; j++)
p[j] = T();
}
}
else if(newLen > max_)
{
T_slice** old = data_;
max_ = newLen > max_ * 2 ? newLen : max_ * 2;
data_ = allocbuf(max_);
for(CORBA::ULong i = 0 ; i < len_ ; i++)
{
T* to = (T*) data_[i];
T* from = (T*) old[i];
for(CORBA::ULong j = 0 ; j < n ; j++)
to[j] = from[j];
}
if(rel_)
freebuf(old);
rel_ = true;
}
len_ = newLen;
}
template<class T_slice, class T, CORBA::ULong n, class U>
void
VarArraySeq<T_slice, T, n, U>::replace(CORBA::ULong max, CORBA::ULong len,
T_slice** data, CORBA::Boolean release)
{
if(rel_)
freebuf(data_);
max_ = max;
len_ = len;
rel_ = release;
( (int)(len_ <= max_) ? (void)0 : (OB::NCA(NCASeqLenGrMax, "len_ <= max_", "../../include/OB/TemplateI.h", 1204), abort()) );
data_ = data;
}
template<class T_slice, class T, CORBA::ULong n, class U>
T_slice**
VarArraySeq<T_slice, T, n, U>::get_buffer(CORBA::Boolean orphan)
{
if(!orphan)
return data_;
if(!rel_)
return 0;
T_slice** rc = data_;
max_ = 0;
len_ = 0;
rel_ = true;
data_ = 0;
return rc;
}
template<class T_slice, class T, CORBA::ULong n, CORBA::ULong max, class U>
T_slice**
BndVarArraySeq<T_slice, T, n, max, U>::allocbuf(CORBA::ULong nn)
{
( (int)(nn == max) ? (void)0 : (OB::NCA(NCASeqBound, "nn == max", "../../include/OB/TemplateI.h", 1250), abort()) );
T_slice** p = (T_slice**) Alloc(sizeof(T_slice*), nn);
for(CORBA::ULong i = 0 ; i < nn ; i++)
p[i] = (T_slice*) new T[n];
return p;
}
template<class T_slice, class T, CORBA::ULong n, CORBA::ULong max, class U>
void
BndVarArraySeq<T_slice, T, n, max, U>::freebuf(T_slice** p)
{
if(p)
{
CORBA::ULong num = Allocated(p);
for(CORBA::ULong i = 0 ; i < num ; i++)
delete [] (T*) p[i];
Free(p);
}
}
template<class T_slice, class T, CORBA::ULong n, CORBA::ULong max, class U>
BndVarArraySeq<T_slice, T, n, max, U>::BndVarArraySeq()
: len_(0), rel_(true), data_(0)
{
}
template<class T_slice, class T, CORBA::ULong n, CORBA::ULong max, class U>
BndVarArraySeq<T_slice, T, n, max, U>::
BndVarArraySeq(CORBA::ULong l, T_slice** d, CORBA::Boolean r)
: len_(l), rel_(r)
{
( (int)(len_ <= max) ? (void)0 : (OB::NCA(NCASeqLenGrMax, "len_ <= max", "../../include/OB/TemplateI.h", 1286), abort()) );
data_ = d;
}
template<class T_slice, class T, CORBA::ULong n, CORBA::ULong max, class U>
BndVarArraySeq<T_slice, T, n, max, U>::
BndVarArraySeq(const BndVarArraySeq<T_slice, T, n, max, U>& r)
: len_(0), rel_(true), data_(0)
{
*this = r;
}
template<class T_slice, class T, CORBA::ULong n, CORBA::ULong max, class U>
BndVarArraySeq<T_slice, T, n, max, U>&
BndVarArraySeq<T_slice, T, n, max, U>::
operator=(const BndVarArraySeq<T_slice, T, n, max, U>& r)
{
if(this != &r)
{
if(rel_)
freebuf(data_);
len_ = r.len_;
rel_ = true;
data_ = allocbuf(max);
for(CORBA::ULong i = 0 ; i < len_ ; i++)
{
T* to = (T*) data_[i];
T* from = (T*) r.data_[i];
for(CORBA::ULong j = 0 ; j < n ; j++)
to[j] = from[j];
}
}
return *this;
}
template<class T_slice, class T, CORBA::ULong n, CORBA::ULong max, class U>
void
BndVarArraySeq<T_slice, T, n, max, U>::length(CORBA::ULong newLen)
{
( (int)(newLen <= max) ? (void)0 : (OB::NCA(NCASeqLenGrMax, "newLen <= max", "../../include/OB/TemplateI.h", 1329), abort()) );
if(!data_)
data_ = allocbuf(max);
if(newLen < len_ && rel_)
{
for(CORBA::ULong i = newLen ; i < len_ ; i++)
{
T* p = (T*) data_[i];
for(CORBA::ULong j = 0 ; j < n ; j++)
p[j] = T();
}
}
len_ = newLen;
}
template<class T_slice, class T, CORBA::ULong n, CORBA::ULong max, class U>
void
BndVarArraySeq<T_slice, T, n, max, U>::replace(CORBA::ULong len,
T_slice** data,
CORBA::Boolean release)
{
if(rel_)
freebuf(data_);
len_ = len;
rel_ = release;
( (int)(len_ <= max) ? (void)0 : (OB::NCA(NCASeqLenGrMax, "len_ <= max", "../../include/OB/TemplateI.h", 1359), abort()) );
data_ = data;
}
template<class T_slice, class T, CORBA::ULong n, CORBA::ULong max, class U>
T_slice**
BndVarArraySeq<T_slice, T, n, max, U>::get_buffer(CORBA::Boolean orphan)
{
if(!data_)
data_ = allocbuf(max);
if(!orphan)
return data_;
if(!rel_)
return 0;
T_slice** rc = data_;
len_ = 0;
rel_ = true;
data_ = allocbuf(max);
return rc;
}
template<class T, class U>
T**
ObjSeq<T, U>::allocbuf(CORBA::ULong n)
{
T** p = (T**) Alloc(sizeof(T*), n);
for(CORBA::ULong i = 0 ; i < n ; i++)
p[i] = 0;
return p;
}
template<class T, class U>
void
ObjSeq<T, U>::freebuf(T** p)
{
if(p)
{
CORBA::ULong n = Allocated(p);
for(CORBA::ULong i = 0 ; i < n ; i++)
OBRelease(p[i]);
Free(p);
}
}
template<class T, class U>
ObjSeq<T, U>::ObjSeq()
: max_(0), len_(0), rel_(true), data_(0)
{
}
template<class T, class U>
ObjSeq<T, U>::ObjSeq(CORBA::ULong m)
: max_(m), len_(0), rel_(true)
{
if(max_ > 0)
data_ = allocbuf(max_);
else
data_ = 0;
}
template<class T, class U>
ObjSeq<T, U>::ObjSeq(CORBA::ULong m, CORBA::ULong l, T** d, CORBA::Boolean r)
: max_(m), len_(l), rel_(r)
{
( (int)(len_ <= max_) ? (void)0 : (OB::NCA(NCASeqLenGrMax, "len_ <= max_", "../../include/OB/TemplateI.h", 1450), abort()) );
data_ = d;
}
template<class T, class U>
ObjSeq<T, U>::ObjSeq(const ObjSeq<T, U>& r)
: max_(0), len_(0), rel_(true), data_(0)
{
*this = r;
}
template<class T, class U>
ObjSeq<T, U>&
ObjSeq<T, U>::operator=(const ObjSeq<T, U>& r)
{
if(this != &r)
{
if(rel_)
freebuf(data_);
max_ = r.max_;
len_ = r.len_;
rel_ = true;
if(max_ > 0)
data_ = allocbuf(max_);
else
data_ = 0;
for(CORBA::ULong i = 0 ; i < len_ ; i++)
{
data_[i] = r.data_[i];
OBDuplicate(data_[i]);
}
}
return *this;
}
template<class T, class U>
void
ObjSeq<T, U>::length(CORBA::ULong newLen)
{
if(newLen < len_ && rel_)
{
for(CORBA::ULong i = newLen ; i < len_ ; i++)
{
T* old = data_[i];
data_[i] = 0;
OBRelease(old);
}
}
else if(newLen > max_)
{
T** old = data_;
max_ = newLen > max_ * 2 ? newLen : max_ * 2;
data_ = allocbuf(max_);
for(CORBA::ULong i = 0 ; i < len_ ; i++)
{
if(rel_)
{
data_[i] = old[i];
old[i] = 0;
}
else
{
data_[i] = old[i];
OBDuplicate(data_[i]);
}
}
if(rel_)
freebuf(old);
rel_ = true;
}
len_ = newLen;
}
template<class T, class U>
void
ObjSeq<T, U>::replace(CORBA::ULong max, CORBA::ULong len, T** data,
CORBA::Boolean release)
{
if(rel_)
freebuf(data_);
max_ = max;
len_ = len;
rel_ = release;
( (int)(len_ <= max_) ? (void)0 : (OB::NCA(NCASeqLenGrMax, "len_ <= max_", "../../include/OB/TemplateI.h", 1544), abort()) );
data_ = data;
}
template<class T, class U>
T**
ObjSeq<T, U>::get_buffer(CORBA::Boolean orphan)
{
if(!orphan)
return data_;
if(!rel_)
return 0;
T** rc = data_;
max_ = 0;
len_ = 0;
rel_ = true;
data_ = 0;
return rc;
}
template<class T, CORBA::ULong max, class U>
T**
BndObjSeq<T, max, U>::allocbuf(CORBA::ULong n)
{
( (int)(n == max) ? (void)0 : (OB::NCA(NCASeqBound, "n == max", "../../include/OB/TemplateI.h", 1590), abort()) );
T** p = (T**) Alloc(sizeof(T*), n);
for(CORBA::ULong i = 0 ; i < n ; i++)
p[i] = 0;
return p;
}
template<class T, CORBA::ULong max, class U>
void
BndObjSeq<T, max, U>::freebuf(T** p)
{
if(p)
{
CORBA::ULong n = Allocated(p);
for(CORBA::ULong i = 0 ; i < n ; i++)
OBRelease(p[i]);
Free(p);
}
}
template<class T, CORBA::ULong max, class U>
BndObjSeq<T, max, U>::BndObjSeq()
: len_(0), rel_(true), data_(0)
{
}
template<class T, CORBA::ULong max, class U>
BndObjSeq<T, max, U>
::BndObjSeq(CORBA::ULong l, T** d, CORBA::Boolean r)
: len_(l), rel_(r)
{
( (int)(len_ <= max) ? (void)0 : (OB::NCA(NCASeqLenGrMax, "len_ <= max", "../../include/OB/TemplateI.h", 1626), abort()) );
data_ = d;
}
template<class T, CORBA::ULong max, class U>
BndObjSeq<T, max, U>
::BndObjSeq(const BndObjSeq<T, max, U>& r)
: len_(0), rel_(true), data_(0)
{
*this = r;
}
template<class T, CORBA::ULong max, class U>
BndObjSeq<T, max, U>&
BndObjSeq<T, max, U>::
operator=(const BndObjSeq<T, max, U>& r)
{
if(this != &r)
{
if(rel_)
freebuf(data_);
len_ = r.len_;
rel_ = true;
data_ = allocbuf(max);
for(CORBA::ULong i = 0 ; i < len_ ; i++)
{
data_[i] = r.data_[i];
OBDuplicate(data_[i]);
}
}
return *this;
}
template<class T, CORBA::ULong max, class U>
void
BndObjSeq<T, max, U>::length(CORBA::ULong newLen)
{
( (int)(newLen <= max) ? (void)0 : (OB::NCA(NCASeqLenGrMax, "newLen <= max", "../../include/OB/TemplateI.h", 1667), abort()) );
if(!data_)
data_ = allocbuf(max);
if(newLen < len_ && rel_)
{
for(CORBA::ULong i = newLen ; i < len_ ; i++)
{
T* old = data_[i];
data_[i] = 0;
OBRelease(old);
}
}
len_ = newLen;
}
template<class T, CORBA::ULong max, class U>
void
BndObjSeq<T, max, U>::replace(CORBA::ULong len, T** data,
CORBA::Boolean release)
{
if(rel_)
freebuf(data_);
len_ = len;
rel_ = release;
( (int)(len_ <= max) ? (void)0 : (OB::NCA(NCASeqLenGrMax, "len_ <= max", "../../include/OB/TemplateI.h", 1696), abort()) );
data_ = data;
}
template<class T, CORBA::ULong max, class U>
T**
BndObjSeq<T, max, U>::get_buffer(CORBA::Boolean orphan)
{
if(!data_)
data_ = allocbuf(max);
if(!orphan)
return data_;
if(!rel_)
return 0;
T** rc = data_;
len_ = 0;
rel_ = true;
data_ = allocbuf(max);
return rc;
}
template<class U>
StrSeq<U>::StrSeq()
: max_(0), len_(0), rel_(true), data_(0)
{
}
template<class U>
StrSeq<U>::StrSeq(CORBA::ULong m)
: max_(m), len_(0), rel_(true)
{
if(max_ > 0)
data_ = allocbuf(max_);
else
data_ = 0;
}
template<class U>
StrSeq<U>::StrSeq(CORBA::ULong m, CORBA::ULong l, char** d, CORBA::Boolean r)
: max_(m), len_(l), rel_(r)
{
( (int)(len_ <= max_) ? (void)0 : (OB::NCA(NCASeqLenGrMax, "len_ <= max_", "../../include/OB/TemplateI.h", 1761), abort()) );
data_ = d;
}
template<class U>
StrSeq<U>::StrSeq(const StrSeq<U>& r)
: max_(0), len_(0), rel_(true), data_(0)
{
*this = r;
}
template<class U>
StrSeq<U>&
StrSeq<U>::operator=(const StrSeq<U>& r)
{
if(this != &r)
{
if(rel_)
freebuf(data_);
max_ = r.max_;
len_ = r.len_;
rel_ = true;
if(max_ > 0)
data_ = allocbuf(max_);
else
data_ = 0;
for(CORBA::ULong i = 0 ; i < len_ ; i++)
data_[i] = CORBA::string_dup(r.data_[i]);
}
return *this;
}
template<class U>
void
StrSeq<U>::length(CORBA::ULong newLen)
{
if(newLen < len_ && rel_)
{
for(CORBA::ULong i = newLen ; i < len_ ; i++)
{
CORBA::string_free(data_[i]);
data_[i] = OB::EmptyString;
}
}
else if(max_ < newLen)
{
char** old = data_;
max_ = newLen > max_ * 2 ? newLen : max_ * 2;
data_ = allocbuf(max_);
for(CORBA::ULong i = 0 ; i < len_ ; i++)
{
if(rel_)
{
data_[i] = old[i];
old[i] = OB::EmptyString;
}
else
data_[i] = CORBA::string_dup(old[i]);
}
if(rel_)
freebuf(old);
rel_ = true;
}
len_ = newLen;
}
template<class U>
void
StrSeq<U>::replace(CORBA::ULong max, CORBA::ULong len, char** data,
CORBA::Boolean release)
{
if(rel_)
freebuf(data_);
max_ = max;
len_ = len;
rel_ = release;
( (int)(len_ <= max_) ? (void)0 : (OB::NCA(NCASeqLenGrMax, "len_ <= max_", "../../include/OB/TemplateI.h", 1853), abort()) );
data_ = data;
}
template<class U>
char**
StrSeq<U>::get_buffer(CORBA::Boolean orphan)
{
if(!orphan)
return data_;
if(!rel_)
return 0;
char** rc = data_;
max_ = 0;
len_ = 0;
rel_ = true;
data_ = 0;
return rc;
}
template<CORBA::ULong max, class U>
char**
BndStrSeq<max, U>::allocbuf(CORBA::ULong n)
{
( (int)(n == max) ? (void)0 : (OB::NCA(NCASeqBound, "n == max", "../../include/OB/TemplateI.h", 1899), abort()) );
return OB::StrSeqAllocbuf(n);
}
template<CORBA::ULong max, class U>
BndStrSeq<max, U>::BndStrSeq()
: len_(0), rel_(true), data_(0)
{
}
template<CORBA::ULong max, class U>
BndStrSeq<max, U>::BndStrSeq(CORBA::ULong l, char** d, CORBA::Boolean r)
: len_(l), rel_(r)
{
( (int)(len_ <= max) ? (void)0 : (OB::NCA(NCASeqLenGrMax, "len_ <= max", "../../include/OB/TemplateI.h", 1913), abort()) );
data_ = d;
}
template<CORBA::ULong max, class U>
BndStrSeq<max, U>::BndStrSeq(const BndStrSeq<max, U>& r)
: len_(0), rel_(true), data_(0)
{
*this = r;
}
template<CORBA::ULong max, class U>
BndStrSeq<max, U>&
BndStrSeq<max, U>::operator=(const BndStrSeq<max, U>& r)
{
if(this != &r)
{
if(rel_)
freebuf(data_);
len_ = r.len_;
rel_ = true;
data_ = allocbuf(max);
for(CORBA::ULong i = 0 ; i < len_ ; i++)
data_[i] = CORBA::string_dup(r.data_[i]);
}
return *this;
}
template<CORBA::ULong max, class U>
void
BndStrSeq<max, U>::length(CORBA::ULong newLen)
{
( (int)(newLen <= max) ? (void)0 : (OB::NCA(NCASeqLenGrMax, "newLen <= max", "../../include/OB/TemplateI.h", 1950), abort()) );
if(!data_)
data_ = allocbuf(max);
if(newLen < len_ && rel_)
{
for(CORBA::ULong i = newLen ; i < len_ ; i++)
{
CORBA::string_free(data_[i]);
data_[i] = OB::EmptyString;
}
}
len_ = newLen;
}
template<CORBA::ULong max, class U>
void
BndStrSeq<max, U>::replace(CORBA::ULong len, char** data,
CORBA::Boolean release)
{
if(rel_)
freebuf(data_);
len_ = len;
rel_ = release;
( (int)(len_ <= max) ? (void)0 : (OB::NCA(NCASeqLenGrMax, "len_ <= max", "../../include/OB/TemplateI.h", 1983), abort()) );
data_ = data;
}
template<CORBA::ULong max, class U>
char**
BndStrSeq<max, U>::get_buffer(CORBA::Boolean orphan)
{
if(!data_)
data_ = allocbuf(max);
if(!orphan)
return data_;
if(!rel_)
return 0;
char** rc = data_;
len_ = 0;
rel_ = true;
data_ = allocbuf(max);
return rc;
}
template<class U>
WStrSeq<U>::WStrSeq()
: max_(0), len_(0), rel_(true), data_(0)
{
}
template<class U>
WStrSeq<U>::WStrSeq(CORBA::ULong m)
: max_(m), len_(0), rel_(true)
{
if(max_ > 0)
data_ = allocbuf(max_);
else
data_ = 0;
}
template<class U>
WStrSeq<U>::WStrSeq(CORBA::ULong m, CORBA::ULong l, wchar_t** d,
CORBA::Boolean r)
: max_(m), len_(l), rel_(r)
{
( (int)(len_ <= max_) ? (void)0 : (OB::NCA(NCASeqLenGrMax, "len_ <= max_", "../../include/OB/TemplateI.h", 2049), abort()) );
data_ = d;
}
template<class U>
WStrSeq<U>::WStrSeq(const WStrSeq<U>& r)
: max_(0), len_(0), rel_(true), data_(0)
{
*this = r;
}
template<class U>
WStrSeq<U>&
WStrSeq<U>::operator=(const WStrSeq<U>& r)
{
if(this != &r)
{
if(rel_)
freebuf(data_);
max_ = r.max_;
len_ = r.len_;
rel_ = true;
if(max_ > 0)
data_ = allocbuf(max_);
else
data_ = 0;
for(CORBA::ULong i = 0 ; i < len_ ; i++)
data_[i] = CORBA::wstring_dup(r.data_[i]);
}
return *this;
}
template<class U>
void
WStrSeq<U>::length(CORBA::ULong newLen)
{
if(newLen < len_ && rel_)
{
for(CORBA::ULong i = newLen ; i < len_ ; i++)
{
CORBA::wstring_free(data_[i]);
data_[i] = OB::EmptyWString;
}
}
else if(max_ < newLen)
{
wchar_t** old = data_;
max_ = newLen > max_ * 2 ? newLen : max_ * 2;
data_ = allocbuf(max_);
for(CORBA::ULong i = 0 ; i < len_ ; i++)
{
if(rel_)
{
data_[i] = old[i];
old[i] = OB::EmptyWString;
}
else
data_[i] = CORBA::wstring_dup(old[i]);
}
if(rel_)
freebuf(old);
rel_ = true;
}
len_ = newLen;
}
template<class U>
void
WStrSeq<U>::replace(CORBA::ULong max, CORBA::ULong len, wchar_t** data,
CORBA::Boolean release)
{
if(rel_)
freebuf(data_);
max_ = max;
len_ = len;
rel_ = release;
( (int)(len_ <= max_) ? (void)0 : (OB::NCA(NCASeqLenGrMax, "len_ <= max_", "../../include/OB/TemplateI.h", 2141), abort()) );
data_ = data;
}
template<class U>
wchar_t**
WStrSeq<U>::get_buffer(CORBA::Boolean orphan)
{
if(!orphan)
return data_;
if(!rel_)
return 0;
wchar_t** rc = data_;
max_ = 0;
len_ = 0;
rel_ = true;
data_ = 0;
return rc;
}
template<CORBA::ULong max, class U>
wchar_t**
BndWStrSeq<max, U>::allocbuf(CORBA::ULong n)
{
( (int)(n == max) ? (void)0 : (OB::NCA(NCASeqBound, "n == max", "../../include/OB/TemplateI.h", 2187), abort()) );
return OB::WStrSeqAllocbuf(n);
}
template<CORBA::ULong max, class U>
BndWStrSeq<max, U>::BndWStrSeq()
: len_(0), rel_(true), data_(0)
{
}
template<CORBA::ULong max, class U>
BndWStrSeq<max, U>::BndWStrSeq(CORBA::ULong l, wchar_t** d, CORBA::Boolean r)
: len_(l), rel_(r)
{
( (int)(len_ <= max) ? (void)0 : (OB::NCA(NCASeqLenGrMax, "len_ <= max", "../../include/OB/TemplateI.h", 2201), abort()) );
data_ = d;
}
template<CORBA::ULong max, class U>
BndWStrSeq<max, U>::BndWStrSeq(const BndWStrSeq<max, U>& r)
: len_(0), rel_(true), data_(0)
{
*this = r;
}
template<CORBA::ULong max, class U>
BndWStrSeq<max, U>&
BndWStrSeq<max, U>::operator=(const BndWStrSeq<max, U>& r)
{
if(this != &r)
{
if(rel_)
freebuf(data_);
len_ = r.len_;
rel_ = true;
data_ = allocbuf(max);
for(CORBA::ULong i = 0 ; i < len_ ; i++)
data_[i] = CORBA::wstring_dup(r.data_[i]);
}
return *this;
}
template<CORBA::ULong max, class U>
void
BndWStrSeq<max, U>::length(CORBA::ULong newLen)
{
( (int)(newLen <= max) ? (void)0 : (OB::NCA(NCASeqLenGrMax, "newLen <= max", "../../include/OB/TemplateI.h", 2237), abort()) );
if(!data_)
data_ = allocbuf(max);
if(newLen < len_ && rel_)
{
for(CORBA::ULong i = newLen ; i < len_ ; i++)
{
CORBA::wstring_free(data_[i]);
data_[i] = OB::EmptyWString;
}
}
len_ = newLen;
}
template<CORBA::ULong max, class U>
void
BndWStrSeq<max, U>::replace(CORBA::ULong len, wchar_t** data,
CORBA::Boolean release)
{
if(rel_)
freebuf(data_);
len_ = len;
rel_ = release;
( (int)(len_ <= max) ? (void)0 : (OB::NCA(NCASeqLenGrMax, "len_ <= max", "../../include/OB/TemplateI.h", 2270), abort()) );
data_ = data;
}
template<CORBA::ULong max, class U>
wchar_t**
BndWStrSeq<max, U>::get_buffer(CORBA::Boolean orphan)
{
if(!data_)
data_ = allocbuf(max);
if(!orphan)
return data_;
if(!rel_)
return 0;
wchar_t** rc = data_;
len_ = 0;
rel_ = true;
data_ = allocbuf(max);
return rc;
}
}
# 1968 "../../include/OB/Template.h" 2
# 15 "../../include/OB/Principal_fwd.h" 2
namespace CORBA
{
class Principal;
typedef Principal* Principal_ptr;
typedef Principal_ptr PrincipalRef;
}
void OBDuplicate(CORBA::Principal_ptr);
void OBRelease(CORBA::Principal_ptr);
namespace CORBA
{
typedef OB::ObjVar< Principal > Principal_var;
}
# 15 "../../include/OB/Any.h" 2
# 1 "../../include/OB/Object_fwd.h" 1
# 14 "../../include/OB/Object_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 15 "../../include/OB/Object_fwd.h" 2
namespace CORBA
{
class Object;
typedef Object* Object_ptr;
typedef Object_ptr ObjectRef;
}
void OBDuplicate(CORBA::Object_ptr);
void OBRelease(CORBA::Object_ptr);
namespace CORBA
{
typedef OB::ObjVar< Object > Object_var;
typedef OB::ObjOut< Object > Object_out;
}
# 16 "../../include/OB/Any.h" 2
# 1 "../../include/OB/AbstractBase_fwd.h" 1
# 14 "../../include/OB/AbstractBase_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 15 "../../include/OB/AbstractBase_fwd.h" 2
namespace CORBA
{
class AbstractBase;
typedef AbstractBase* AbstractBase_ptr;
}
void OBRelease(CORBA::AbstractBase_ptr);
void OBDuplicate(CORBA::AbstractBase_ptr);
namespace CORBA
{
typedef OB::ObjVar< AbstractBase > AbstractBase_var;
typedef OB::ObjOut< AbstractBase > AbstractBase_out;
}
# 17 "../../include/OB/Any.h" 2
# 1 "../../include/OB/ValueBase_fwd.h" 1
# 14 "../../include/OB/ValueBase_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 15 "../../include/OB/ValueBase_fwd.h" 2
namespace CORBA
{
class ValueBase;
}
void OBRelease(CORBA::ValueBase*);
void OBDuplicate(CORBA::ValueBase*);
void OBMarshal(CORBA::ValueBase*, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::ValueBase*&, OB::InputStreamImpl*);
namespace CORBA
{
typedef OB::ObjVar< ValueBase > ValueBase_var;
typedef OB::ObjOut< ValueBase > ValueBase_out;
}
# 18 "../../include/OB/Any.h" 2
# 1 "../../include/OB/ORBInstance_fwd.h" 1
# 14 "../../include/OB/ORBInstance_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 15 "../../include/OB/ORBInstance_fwd.h" 2
namespace OB
{
class ORBInstance;
typedef ORBInstance* ORBInstance_ptr;
typedef ORBInstance_ptr ORBInstanceRef;
}
void OBDuplicate(OB::ORBInstance_ptr);
void OBRelease(OB::ORBInstance_ptr);
namespace OB
{
typedef OB::ObjVar< ORBInstance > ORBInstance_var;
typedef OB::ObjOut< ORBInstance > ORBInstance_out;
}
# 19 "../../include/OB/Any.h" 2
# 1 "../../include/OB/TypeCode_fwd.h" 1
# 14 "../../include/OB/TypeCode_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 15 "../../include/OB/TypeCode_fwd.h" 2
namespace CORBA
{
class TypeCode;
typedef TypeCode* TypeCode_ptr;
typedef TypeCode_ptr TypeCodeRef;
}
void OBDuplicate(CORBA::TypeCode_ptr);
void OBRelease(CORBA::TypeCode_ptr);
namespace CORBA
{
typedef OB::ObjVar< TypeCode > TypeCode_var;
typedef OB::ObjOut< TypeCode > TypeCode_out;
}
# 20 "../../include/OB/Any.h" 2
# 1 "../../include/OB/Stream_fwd.h" 1
# 14 "../../include/OB/Stream_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 15 "../../include/OB/Stream_fwd.h" 2
namespace OB
{
class InputStream;
typedef InputStream* InputStream_ptr;
class OutputStream;
typedef OutputStream* OutputStream_ptr;
}
void OBDuplicate(OB::InputStream_ptr);
void OBRelease(OB::InputStream_ptr);
void OBDuplicate(OB::OutputStream_ptr);
void OBRelease(OB::OutputStream_ptr);
namespace OB
{
typedef OB::ObjVar< InputStream > InputStream_var;
typedef OB::ObjOut< InputStream > InputStream_out;
typedef OB::ObjVar< OutputStream > OutputStream_var;
typedef OB::ObjOut< OutputStream > OutputStream_out;
}
# 21 "../../include/OB/Any.h" 2
# 1 "../../include/OB/Fixed.h" 1
# 14 "../../include/OB/Fixed.h"
# 1 "../../include/OB/Basic.h" 1
# 15 "../../include/OB/Fixed.h" 2
namespace CORBA
{
class Fixed
{
void fromLongLong(LongLong);
void fromULongLong(ULongLong, Short = 1);
void fromString(const char*);
static void mul10(Fixed&, ULong);
static void div10(Fixed&, ULong);
public:
Octet value_[64];
Short signum_;
UShort scale_;
public:
Fixed(int val = 0) { fromLongLong(val); }
Fixed(unsigned int val) { fromULongLong(val); }
Fixed(Long val) { fromLongLong(val); }
Fixed(ULong val) { fromULongLong(val); }
Fixed(LongLong val) { fromLongLong(val); }
Fixed(ULongLong val) { fromULongLong(val); }
Fixed(Double);
Fixed(LongDouble);
Fixed(const Fixed&);
Fixed(const char* val) { fromString(val); }
~Fixed() { };
Fixed(const Fixed&, UShort);
operator LongLong() const;
operator LongDouble() const;
Fixed round(UShort) const;
Fixed truncate(UShort) const;
Fixed& operator=(const Fixed&);
Fixed& operator+=(const Fixed&);
Fixed& operator-=(const Fixed&);
Fixed& operator*=(const Fixed&);
Fixed& operator/=(const Fixed&);
Fixed& operator++();
Fixed operator++(int);
Fixed& operator--();
Fixed operator--(int);
Fixed operator+() const;
Fixed operator-() const;
Boolean operator!() const;
UShort fixed_digits() const;
UShort fixed_scale() const;
# 105 "../../include/OB/Fixed.h"
Fixed abs() const;
Short signum() const;
Fixed setScale(UShort) const;
Fixed movePointLeft(Short) const;
Fixed movePointRight(Short) const;
char* toString() const;
static CORBA::Fixed opAdd(const CORBA::Fixed&, const CORBA::Fixed&);
static CORBA::Fixed opSub(const CORBA::Fixed&, const CORBA::Fixed&);
static CORBA::Fixed opMul(const CORBA::Fixed&, const CORBA::Fixed&);
static CORBA::Fixed opDiv(const CORBA::Fixed&, const CORBA::Fixed&);
static CORBA::Boolean opGt(const CORBA::Fixed&, const CORBA::Fixed&);
};
typedef Fixed& Fixed_out;
}
std::istream& operator>>(std::istream&, CORBA::Fixed&);
std::ostream& operator<<(std::ostream&, const CORBA::Fixed&);
CORBA::Fixed operator+(const CORBA::Fixed&, const CORBA::Fixed&);
CORBA::Fixed operator-(const CORBA::Fixed&, const CORBA::Fixed&);
CORBA::Fixed operator*(const CORBA::Fixed&, const CORBA::Fixed&);
CORBA::Fixed operator/(const CORBA::Fixed&, const CORBA::Fixed&);
CORBA::Boolean operator>(const CORBA::Fixed&, const CORBA::Fixed&);
CORBA::Boolean operator<(const CORBA::Fixed&, const CORBA::Fixed&);
CORBA::Boolean operator>=(const CORBA::Fixed&, const CORBA::Fixed&);
CORBA::Boolean operator<=(const CORBA::Fixed&, const CORBA::Fixed&);
CORBA::Boolean operator==(const CORBA::Fixed&, const CORBA::Fixed&);
CORBA::Boolean operator!=(const CORBA::Fixed&, const CORBA::Fixed&);
# 23 "../../include/OB/Any.h" 2
# 1 "../../include/OB/Except.h" 1
# 14 "../../include/OB/Except.h"
# 1 "../../include/OB/RefCounted_fwd.h" 1
# 14 "../../include/OB/RefCounted_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 15 "../../include/OB/RefCounted_fwd.h" 2
namespace OB
{
class RefCountIOR;
typedef RefCountIOR* RefCountIOR_ptr;
class RefCountPolicyList;
typedef RefCountPolicyList* RefCountPolicyList_ptr;
class RefCountProfileInfo;
typedef RefCountProfileInfo* RefCountProfileInfo_ptr;
}
void OBDuplicate(OB::RefCountIOR_ptr);
void OBRelease(OB::RefCountIOR_ptr);
void OBDuplicate(OB::RefCountPolicyList_ptr);
void OBRelease(OB::RefCountPolicyList_ptr);
void OBDuplicate(OB::RefCountProfileInfo_ptr);
void OBRelease(OB::RefCountProfileInfo_ptr);
namespace OB
{
typedef OB::ObjVar< RefCountIOR > RefCountIOR_var;
typedef OB::ObjOut< RefCountIOR > RefCountIOR_out;
typedef OB::ObjVar< RefCountPolicyList > RefCountPolicyList_var;
typedef OB::ObjOut< RefCountPolicyList > RefCountPolicyList_out;
typedef OB::ObjVar< RefCountProfileInfo > RefCountProfileInfo_var;
typedef OB::ObjOut< RefCountProfileInfo > RefCountProfileInfo_out;
}
# 15 "../../include/OB/Except.h" 2
# 1 "../../include/OB/Basic.h" 1
# 17 "../../include/OB/Except.h" 2
# 1 "../../include/OB/Fixed.h" 1
# 18 "../../include/OB/Except.h" 2
# 1 "../../include/OB/AnyDeclaration.h" 1
# 14 "../../include/OB/AnyDeclaration.h"
namespace OB
{
template <class T> class VarVar;
template <class T> class VarOut;
}
namespace CORBA
{
class Any;
typedef OB::VarVar< Any > Any_var;
typedef OB::VarOut< Any > Any_out;
}
# 19 "../../include/OB/Except.h" 2
# 1 "../../include/OB/TypeCodeConst.h" 1
# 14 "../../include/OB/TypeCodeConst.h"
# 1 "../../include/OB/TypeCode_fwd.h" 1
# 15 "../../include/OB/TypeCodeConst.h" 2
namespace OB
{
class TypeCodeConst : public JTCMutex
{
TypeCodeConst(const TypeCodeConst&);
void operator=(const TypeCodeConst&);
CORBA::TypeCode_var typeCode_;
const char* str_;
const char** arr_;
public:
TypeCodeConst(const char* s) : str_(s), arr_(0) { }
TypeCodeConst(const char** arr) : str_(0), arr_(arr) { }
~TypeCodeConst();
operator CORBA::TypeCode_ptr();
CORBA::TypeCode_ptr operator->()
{ return operator CORBA::TypeCode_ptr(); }
};
}
# 20 "../../include/OB/Except.h" 2
# 1 "../../include/OB/CompletionStatus.h" 1
# 37 "../../include/OB/CompletionStatus.h"
namespace CORBA
{
}
namespace CORBA
{
}
namespace OBStubImpl_CORBA
{
}
namespace OBStubImpl_CORBA
{
}
namespace CORBA
{
enum CompletionStatus
{
COMPLETED_YES,
COMPLETED_NO,
COMPLETED_MAYBE
};
typedef CompletionStatus& CompletionStatus_out;
extern OB::TypeCodeConst _tc_completion_status;
}
namespace OBProxy_CORBA
{
}
namespace OBStubImpl_CORBA
{
}
namespace OBMarshalStubImpl_CORBA
{
}
namespace OBV_CORBA
{
}
void operator<<=(CORBA::Any&, CORBA::CompletionStatus);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::CompletionStatus&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::CompletionStatus val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::CompletionStatus& val)
{
return any.in() >>= val;
}
# 21 "../../include/OB/Except.h" 2
namespace CORBA
{
class SystemException;
}
namespace OB
{
class ExceptionBase
{
public:
virtual ~ExceptionBase() { }
virtual void _raise() const = 0;
};
class StubImplChanged : public ExceptionBase
{
public:
virtual void _raise() const { throw *this; }
};
class LocationForward : public ExceptionBase
{
public:
RefCountIOR_var ior;
bool perm;
LocationForward(RefCountIOR_ptr, bool);
virtual void _raise() const { throw *this; }
};
class FailureException : public ExceptionBase
{
public:
CORBA::SystemException* exception;
FailureException() : exception(0) { }
FailureException(const CORBA::SystemException&);
FailureException(const FailureException&);
virtual ~FailureException();
FailureException& operator=(const FailureException&);
virtual void _raise() const { throw *this; }
};
}
namespace CORBA
{
class Exception : public OB::ExceptionBase
{
protected:
Exception() { }
public:
Exception(const Exception&) { }
virtual ~Exception() { }
Exception& operator=(const Exception&) { return *this; }
virtual void _raise() const = 0;
virtual const char* _name() const;
virtual const char* _rep_id() const;
virtual char* _to_string() const = 0;
virtual Exception* _OB_clone() const = 0;
virtual void _OB_insertInAny(Any&) = 0;
virtual void _OB_marshal(OB::OutputStreamImpl*) const = 0;
};
}
std::ostream& operator<<(std::ostream&, const CORBA::Exception&);
std::ostream& operator<<(std::ostream&, const CORBA::Exception*);
namespace OB
{
}
namespace CORBA
{
# 193 "../../include/OB/Except.h"
class SystemException : public Exception
{
String_var reason_;
bool remote_;
ULong minor_;
CompletionStatus status_;
public:
SystemException(const char* = "");
SystemException(ULong, CompletionStatus);
SystemException(const char*, ULong, CompletionStatus);
SystemException(const SystemException&);
SystemException& operator=(const SystemException&);
ULong minor() const { return minor_; }
void minor(ULong minor) { minor_ = minor; }
CompletionStatus completed() const { return status_; }
void completed(CompletionStatus status) { status_ = status; }
static SystemException* _downcast(Exception* p)
{ return dynamic_cast<SystemException*>(p); }
static const SystemException* _downcast(const Exception* p)
{ return dynamic_cast<const SystemException*>(p); }
const char* reason() const { return reason_; }
void reason(const char* reason) { reason_ = reason; }
bool remote() const { return remote_; }
void remote(bool remote) { remote_ = remote; }
char* _OB_defaultToString(const char*) const;
virtual void _OB_marshal(OB::OutputStreamImpl*) const;
static SystemException* _OB_unmarshal(OB::InputStreamImpl*);
};
class UserException : public Exception
{
public:
UserException() { }
UserException(const UserException&) { }
UserException& operator=(const UserException&)
{ return *this; }
static UserException* _downcast(Exception* p)
{ return dynamic_cast<UserException*>(p); }
static const UserException* _downcast(const Exception* p)
{ return dynamic_cast<const UserException*>(p); }
char* _OB_defaultToString(const char*) const;
virtual void _OB_marshal(OB::OutputStreamImpl*) const;
};
# 299 "../../include/OB/Except.h"
class UNKNOWN : public SystemException { public: UNKNOWN(const char* r = ""); UNKNOWN(ULong, CompletionStatus); UNKNOWN(const char*, ULong, CompletionStatus); UNKNOWN(const UNKNOWN&); virtual void _raise() const { throw *this; } virtual const char* _name() const; virtual const char* _rep_id() const; virtual char* _to_string() const; static UNKNOWN* _downcast(Exception* p) { return dynamic_cast<UNKNOWN*>(p); } static const UNKNOWN* _downcast(const Exception* p) { return dynamic_cast<const UNKNOWN*>(p); } virtual Exception* _OB_clone() const; virtual void _OB_insertInAny(Any&); };
class BAD_PARAM : public SystemException { public: BAD_PARAM(const char* r = ""); BAD_PARAM(ULong, CompletionStatus); BAD_PARAM(const char*, ULong, CompletionStatus); BAD_PARAM(const BAD_PARAM&); virtual void _raise() const { throw *this; } virtual const char* _name() const; virtual const char* _rep_id() const; virtual char* _to_string() const; static BAD_PARAM* _downcast(Exception* p) { return dynamic_cast<BAD_PARAM*>(p); } static const BAD_PARAM* _downcast(const Exception* p) { return dynamic_cast<const BAD_PARAM*>(p); } virtual Exception* _OB_clone() const; virtual void _OB_insertInAny(Any&); };
class NO_MEMORY : public SystemException { public: NO_MEMORY(const char* r = ""); NO_MEMORY(ULong, CompletionStatus); NO_MEMORY(const char*, ULong, CompletionStatus); NO_MEMORY(const NO_MEMORY&); virtual void _raise() const { throw *this; } virtual const char* _name() const; virtual const char* _rep_id() const; virtual char* _to_string() const; static NO_MEMORY* _downcast(Exception* p) { return dynamic_cast<NO_MEMORY*>(p); } static const NO_MEMORY* _downcast(const Exception* p) { return dynamic_cast<const NO_MEMORY*>(p); } virtual Exception* _OB_clone() const; virtual void _OB_insertInAny(Any&); };
class IMP_LIMIT : public SystemException { public: IMP_LIMIT(const char* r = ""); IMP_LIMIT(ULong, CompletionStatus); IMP_LIMIT(const char*, ULong, CompletionStatus); IMP_LIMIT(const IMP_LIMIT&); virtual void _raise() const { throw *this; } virtual const char* _name() const; virtual const char* _rep_id() const; virtual char* _to_string() const; static IMP_LIMIT* _downcast(Exception* p) { return dynamic_cast<IMP_LIMIT*>(p); } static const IMP_LIMIT* _downcast(const Exception* p) { return dynamic_cast<const IMP_LIMIT*>(p); } virtual Exception* _OB_clone() const; virtual void _OB_insertInAny(Any&); };
class COMM_FAILURE : public SystemException { public: COMM_FAILURE(const char* r = ""); COMM_FAILURE(ULong, CompletionStatus); COMM_FAILURE(const char*, ULong, CompletionStatus); COMM_FAILURE(const COMM_FAILURE&); virtual void _raise() const { throw *this; } virtual const char* _name() const; virtual const char* _rep_id() const; virtual char* _to_string() const; static COMM_FAILURE* _downcast(Exception* p) { return dynamic_cast<COMM_FAILURE*>(p); } static const COMM_FAILURE* _downcast(const Exception* p) { return dynamic_cast<const COMM_FAILURE*>(p); } virtual Exception* _OB_clone() const; virtual void _OB_insertInAny(Any&); };
class INV_OBJREF : public SystemException { public: INV_OBJREF(const char* r = ""); INV_OBJREF(ULong, CompletionStatus); INV_OBJREF(const char*, ULong, CompletionStatus); INV_OBJREF(const INV_OBJREF&); virtual void _raise() const { throw *this; } virtual const char* _name() const; virtual const char* _rep_id() const; virtual char* _to_string() const; static INV_OBJREF* _downcast(Exception* p) { return dynamic_cast<INV_OBJREF*>(p); } static const INV_OBJREF* _downcast(const Exception* p) { return dynamic_cast<const INV_OBJREF*>(p); } virtual Exception* _OB_clone() const; virtual void _OB_insertInAny(Any&); };
class NO_PERMISSION : public SystemException { public: NO_PERMISSION(const char* r = ""); NO_PERMISSION(ULong, CompletionStatus); NO_PERMISSION(const char*, ULong, CompletionStatus); NO_PERMISSION(const NO_PERMISSION&); virtual void _raise() const { throw *this; } virtual const char* _name() const; virtual const char* _rep_id() const; virtual char* _to_string() const; static NO_PERMISSION* _downcast(Exception* p) { return dynamic_cast<NO_PERMISSION*>(p); } static const NO_PERMISSION* _downcast(const Exception* p) { return dynamic_cast<const NO_PERMISSION*>(p); } virtual Exception* _OB_clone() const; virtual void _OB_insertInAny(Any&); };
class INTERNAL : public SystemException { public: INTERNAL(const char* r = ""); INTERNAL(ULong, CompletionStatus); INTERNAL(const char*, ULong, CompletionStatus); INTERNAL(const INTERNAL&); virtual void _raise() const { throw *this; } virtual const char* _name() const; virtual const char* _rep_id() const; virtual char* _to_string() const; static INTERNAL* _downcast(Exception* p) { return dynamic_cast<INTERNAL*>(p); } static const INTERNAL* _downcast(const Exception* p) { return dynamic_cast<const INTERNAL*>(p); } virtual Exception* _OB_clone() const; virtual void _OB_insertInAny(Any&); };
class MARSHAL : public SystemException { public: MARSHAL(const char* r = ""); MARSHAL(ULong, CompletionStatus); MARSHAL(const char*, ULong, CompletionStatus); MARSHAL(const MARSHAL&); virtual void _raise() const { throw *this; } virtual const char* _name() const; virtual const char* _rep_id() const; virtual char* _to_string() const; static MARSHAL* _downcast(Exception* p) { return dynamic_cast<MARSHAL*>(p); } static const MARSHAL* _downcast(const Exception* p) { return dynamic_cast<const MARSHAL*>(p); } virtual Exception* _OB_clone() const; virtual void _OB_insertInAny(Any&); };
class INITIALIZE : public SystemException { public: INITIALIZE(const char* r = ""); INITIALIZE(ULong, CompletionStatus); INITIALIZE(const char*, ULong, CompletionStatus); INITIALIZE(const INITIALIZE&); virtual void _raise() const { throw *this; } virtual const char* _name() const; virtual const char* _rep_id() const; virtual char* _to_string() const; static INITIALIZE* _downcast(Exception* p) { return dynamic_cast<INITIALIZE*>(p); } static const INITIALIZE* _downcast(const Exception* p) { return dynamic_cast<const INITIALIZE*>(p); } virtual Exception* _OB_clone() const; virtual void _OB_insertInAny(Any&); };
class NO_IMPLEMENT : public SystemException { public: NO_IMPLEMENT(const char* r = ""); NO_IMPLEMENT(ULong, CompletionStatus); NO_IMPLEMENT(const char*, ULong, CompletionStatus); NO_IMPLEMENT(const NO_IMPLEMENT&); virtual void _raise() const { throw *this; } virtual const char* _name() const; virtual const char* _rep_id() const; virtual char* _to_string() const; static NO_IMPLEMENT* _downcast(Exception* p) { return dynamic_cast<NO_IMPLEMENT*>(p); } static const NO_IMPLEMENT* _downcast(const Exception* p) { return dynamic_cast<const NO_IMPLEMENT*>(p); } virtual Exception* _OB_clone() const; virtual void _OB_insertInAny(Any&); };
class BAD_TYPECODE : public SystemException { public: BAD_TYPECODE(const char* r = ""); BAD_TYPECODE(ULong, CompletionStatus); BAD_TYPECODE(const char*, ULong, CompletionStatus); BAD_TYPECODE(const BAD_TYPECODE&); virtual void _raise() const { throw *this; } virtual const char* _name() const; virtual const char* _rep_id() const; virtual char* _to_string() const; static BAD_TYPECODE* _downcast(Exception* p) { return dynamic_cast<BAD_TYPECODE*>(p); } static const BAD_TYPECODE* _downcast(const Exception* p) { return dynamic_cast<const BAD_TYPECODE*>(p); } virtual Exception* _OB_clone() const; virtual void _OB_insertInAny(Any&); };
class BAD_OPERATION : public SystemException { public: BAD_OPERATION(const char* r = ""); BAD_OPERATION(ULong, CompletionStatus); BAD_OPERATION(const char*, ULong, CompletionStatus); BAD_OPERATION(const BAD_OPERATION&); virtual void _raise() const { throw *this; } virtual const char* _name() const; virtual const char* _rep_id() const; virtual char* _to_string() const; static BAD_OPERATION* _downcast(Exception* p) { return dynamic_cast<BAD_OPERATION*>(p); } static const BAD_OPERATION* _downcast(const Exception* p) { return dynamic_cast<const BAD_OPERATION*>(p); } virtual Exception* _OB_clone() const; virtual void _OB_insertInAny(Any&); };
class NO_RESOURCES : public SystemException { public: NO_RESOURCES(const char* r = ""); NO_RESOURCES(ULong, CompletionStatus); NO_RESOURCES(const char*, ULong, CompletionStatus); NO_RESOURCES(const NO_RESOURCES&); virtual void _raise() const { throw *this; } virtual const char* _name() const; virtual const char* _rep_id() const; virtual char* _to_string() const; static NO_RESOURCES* _downcast(Exception* p) { return dynamic_cast<NO_RESOURCES*>(p); } static const NO_RESOURCES* _downcast(const Exception* p) { return dynamic_cast<const NO_RESOURCES*>(p); } virtual Exception* _OB_clone() const; virtual void _OB_insertInAny(Any&); };
class NO_RESPONSE : public SystemException { public: NO_RESPONSE(const char* r = ""); NO_RESPONSE(ULong, CompletionStatus); NO_RESPONSE(const char*, ULong, CompletionStatus); NO_RESPONSE(const NO_RESPONSE&); virtual void _raise() const { throw *this; } virtual const char* _name() const; virtual const char* _rep_id() const; virtual char* _to_string() const; static NO_RESPONSE* _downcast(Exception* p) { return dynamic_cast<NO_RESPONSE*>(p); } static const NO_RESPONSE* _downcast(const Exception* p) { return dynamic_cast<const NO_RESPONSE*>(p); } virtual Exception* _OB_clone() const; virtual void _OB_insertInAny(Any&); };
class PERSIST_STORE : public SystemException { public: PERSIST_STORE(const char* r = ""); PERSIST_STORE(ULong, CompletionStatus); PERSIST_STORE(const char*, ULong, CompletionStatus); PERSIST_STORE(const PERSIST_STORE&); virtual void _raise() const { throw *this; } virtual const char* _name() const; virtual const char* _rep_id() const; virtual char* _to_string() const; static PERSIST_STORE* _downcast(Exception* p) { return dynamic_cast<PERSIST_STORE*>(p); } static const PERSIST_STORE* _downcast(const Exception* p) { return dynamic_cast<const PERSIST_STORE*>(p); } virtual Exception* _OB_clone() const; virtual void _OB_insertInAny(Any&); };
class BAD_INV_ORDER : public SystemException { public: BAD_INV_ORDER(const char* r = ""); BAD_INV_ORDER(ULong, CompletionStatus); BAD_INV_ORDER(const char*, ULong, CompletionStatus); BAD_INV_ORDER(const BAD_INV_ORDER&); virtual void _raise() const { throw *this; } virtual const char* _name() const; virtual const char* _rep_id() const; virtual char* _to_string() const; static BAD_INV_ORDER* _downcast(Exception* p) { return dynamic_cast<BAD_INV_ORDER*>(p); } static const BAD_INV_ORDER* _downcast(const Exception* p) { return dynamic_cast<const BAD_INV_ORDER*>(p); } virtual Exception* _OB_clone() const; virtual void _OB_insertInAny(Any&); };
class TRANSIENT : public SystemException { public: TRANSIENT(const char* r = ""); TRANSIENT(ULong, CompletionStatus); TRANSIENT(const char*, ULong, CompletionStatus); TRANSIENT(const TRANSIENT&); virtual void _raise() const { throw *this; } virtual const char* _name() const; virtual const char* _rep_id() const; virtual char* _to_string() const; static TRANSIENT* _downcast(Exception* p) { return dynamic_cast<TRANSIENT*>(p); } static const TRANSIENT* _downcast(const Exception* p) { return dynamic_cast<const TRANSIENT*>(p); } virtual Exception* _OB_clone() const; virtual void _OB_insertInAny(Any&); };
class FREE_MEM : public SystemException { public: FREE_MEM(const char* r = ""); FREE_MEM(ULong, CompletionStatus); FREE_MEM(const char*, ULong, CompletionStatus); FREE_MEM(const FREE_MEM&); virtual void _raise() const { throw *this; } virtual const char* _name() const; virtual const char* _rep_id() const; virtual char* _to_string() const; static FREE_MEM* _downcast(Exception* p) { return dynamic_cast<FREE_MEM*>(p); } static const FREE_MEM* _downcast(const Exception* p) { return dynamic_cast<const FREE_MEM*>(p); } virtual Exception* _OB_clone() const; virtual void _OB_insertInAny(Any&); };
class INV_IDENT : public SystemException { public: INV_IDENT(const char* r = ""); INV_IDENT(ULong, CompletionStatus); INV_IDENT(const char*, ULong, CompletionStatus); INV_IDENT(const INV_IDENT&); virtual void _raise() const { throw *this; } virtual const char* _name() const; virtual const char* _rep_id() const; virtual char* _to_string() const; static INV_IDENT* _downcast(Exception* p) { return dynamic_cast<INV_IDENT*>(p); } static const INV_IDENT* _downcast(const Exception* p) { return dynamic_cast<const INV_IDENT*>(p); } virtual Exception* _OB_clone() const; virtual void _OB_insertInAny(Any&); };
class INV_FLAG : public SystemException { public: INV_FLAG(const char* r = ""); INV_FLAG(ULong, CompletionStatus); INV_FLAG(const char*, ULong, CompletionStatus); INV_FLAG(const INV_FLAG&); virtual void _raise() const { throw *this; } virtual const char* _name() const; virtual const char* _rep_id() const; virtual char* _to_string() const; static INV_FLAG* _downcast(Exception* p) { return dynamic_cast<INV_FLAG*>(p); } static const INV_FLAG* _downcast(const Exception* p) { return dynamic_cast<const INV_FLAG*>(p); } virtual Exception* _OB_clone() const; virtual void _OB_insertInAny(Any&); };
class INTF_REPOS : public SystemException { public: INTF_REPOS(const char* r = ""); INTF_REPOS(ULong, CompletionStatus); INTF_REPOS(const char*, ULong, CompletionStatus); INTF_REPOS(const INTF_REPOS&); virtual void _raise() const { throw *this; } virtual const char* _name() const; virtual const char* _rep_id() const; virtual char* _to_string() const; static INTF_REPOS* _downcast(Exception* p) { return dynamic_cast<INTF_REPOS*>(p); } static const INTF_REPOS* _downcast(const Exception* p) { return dynamic_cast<const INTF_REPOS*>(p); } virtual Exception* _OB_clone() const; virtual void _OB_insertInAny(Any&); };
class BAD_CONTEXT : public SystemException { public: BAD_CONTEXT(const char* r = ""); BAD_CONTEXT(ULong, CompletionStatus); BAD_CONTEXT(const char*, ULong, CompletionStatus); BAD_CONTEXT(const BAD_CONTEXT&); virtual void _raise() const { throw *this; } virtual const char* _name() const; virtual const char* _rep_id() const; virtual char* _to_string() const; static BAD_CONTEXT* _downcast(Exception* p) { return dynamic_cast<BAD_CONTEXT*>(p); } static const BAD_CONTEXT* _downcast(const Exception* p) { return dynamic_cast<const BAD_CONTEXT*>(p); } virtual Exception* _OB_clone() const; virtual void _OB_insertInAny(Any&); };
class OBJ_ADAPTER : public SystemException { public: OBJ_ADAPTER(const char* r = ""); OBJ_ADAPTER(ULong, CompletionStatus); OBJ_ADAPTER(const char*, ULong, CompletionStatus); OBJ_ADAPTER(const OBJ_ADAPTER&); virtual void _raise() const { throw *this; } virtual const char* _name() const; virtual const char* _rep_id() const; virtual char* _to_string() const; static OBJ_ADAPTER* _downcast(Exception* p) { return dynamic_cast<OBJ_ADAPTER*>(p); } static const OBJ_ADAPTER* _downcast(const Exception* p) { return dynamic_cast<const OBJ_ADAPTER*>(p); } virtual Exception* _OB_clone() const; virtual void _OB_insertInAny(Any&); };
class DATA_CONVERSION : public SystemException { public: DATA_CONVERSION(const char* r = ""); DATA_CONVERSION(ULong, CompletionStatus); DATA_CONVERSION(const char*, ULong, CompletionStatus); DATA_CONVERSION(const DATA_CONVERSION&); virtual void _raise() const { throw *this; } virtual const char* _name() const; virtual const char* _rep_id() const; virtual char* _to_string() const; static DATA_CONVERSION* _downcast(Exception* p) { return dynamic_cast<DATA_CONVERSION*>(p); } static const DATA_CONVERSION* _downcast(const Exception* p) { return dynamic_cast<const DATA_CONVERSION*>(p); } virtual Exception* _OB_clone() const; virtual void _OB_insertInAny(Any&); };
class OBJECT_NOT_EXIST : public SystemException { public: OBJECT_NOT_EXIST(const char* r = ""); OBJECT_NOT_EXIST(ULong, CompletionStatus); OBJECT_NOT_EXIST(const char*, ULong, CompletionStatus); OBJECT_NOT_EXIST(const OBJECT_NOT_EXIST&); virtual void _raise() const { throw *this; } virtual const char* _name() const; virtual const char* _rep_id() const; virtual char* _to_string() const; static OBJECT_NOT_EXIST* _downcast(Exception* p) { return dynamic_cast<OBJECT_NOT_EXIST*>(p); } static const OBJECT_NOT_EXIST* _downcast(const Exception* p) { return dynamic_cast<const OBJECT_NOT_EXIST*>(p); } virtual Exception* _OB_clone() const; virtual void _OB_insertInAny(Any&); };
class TRANSACTION_REQUIRED : public SystemException { public: TRANSACTION_REQUIRED(const char* r = ""); TRANSACTION_REQUIRED(ULong, CompletionStatus); TRANSACTION_REQUIRED(const char*, ULong, CompletionStatus); TRANSACTION_REQUIRED(const TRANSACTION_REQUIRED&); virtual void _raise() const { throw *this; } virtual const char* _name() const; virtual const char* _rep_id() const; virtual char* _to_string() const; static TRANSACTION_REQUIRED* _downcast(Exception* p) { return dynamic_cast<TRANSACTION_REQUIRED*>(p); } static const TRANSACTION_REQUIRED* _downcast(const Exception* p) { return dynamic_cast<const TRANSACTION_REQUIRED*>(p); } virtual Exception* _OB_clone() const; virtual void _OB_insertInAny(Any&); };
class TRANSACTION_ROLLEDBACK : public SystemException { public: TRANSACTION_ROLLEDBACK(const char* r = ""); TRANSACTION_ROLLEDBACK(ULong, CompletionStatus); TRANSACTION_ROLLEDBACK(const char*, ULong, CompletionStatus); TRANSACTION_ROLLEDBACK(const TRANSACTION_ROLLEDBACK&); virtual void _raise() const { throw *this; } virtual const char* _name() const; virtual const char* _rep_id() const; virtual char* _to_string() const; static TRANSACTION_ROLLEDBACK* _downcast(Exception* p) { return dynamic_cast<TRANSACTION_ROLLEDBACK*>(p); } static const TRANSACTION_ROLLEDBACK* _downcast(const Exception* p) { return dynamic_cast<const TRANSACTION_ROLLEDBACK*>(p); } virtual Exception* _OB_clone() const; virtual void _OB_insertInAny(Any&); };
class INVALID_TRANSACTION : public SystemException { public: INVALID_TRANSACTION(const char* r = ""); INVALID_TRANSACTION(ULong, CompletionStatus); INVALID_TRANSACTION(const char*, ULong, CompletionStatus); INVALID_TRANSACTION(const INVALID_TRANSACTION&); virtual void _raise() const { throw *this; } virtual const char* _name() const; virtual const char* _rep_id() const; virtual char* _to_string() const; static INVALID_TRANSACTION* _downcast(Exception* p) { return dynamic_cast<INVALID_TRANSACTION*>(p); } static const INVALID_TRANSACTION* _downcast(const Exception* p) { return dynamic_cast<const INVALID_TRANSACTION*>(p); } virtual Exception* _OB_clone() const; virtual void _OB_insertInAny(Any&); };
class INV_POLICY : public SystemException { public: INV_POLICY(const char* r = ""); INV_POLICY(ULong, CompletionStatus); INV_POLICY(const char*, ULong, CompletionStatus); INV_POLICY(const INV_POLICY&); virtual void _raise() const { throw *this; } virtual const char* _name() const; virtual const char* _rep_id() const; virtual char* _to_string() const; static INV_POLICY* _downcast(Exception* p) { return dynamic_cast<INV_POLICY*>(p); } static const INV_POLICY* _downcast(const Exception* p) { return dynamic_cast<const INV_POLICY*>(p); } virtual Exception* _OB_clone() const; virtual void _OB_insertInAny(Any&); };
class CODESET_INCOMPATIBLE : public SystemException { public: CODESET_INCOMPATIBLE(const char* r = ""); CODESET_INCOMPATIBLE(ULong, CompletionStatus); CODESET_INCOMPATIBLE(const char*, ULong, CompletionStatus); CODESET_INCOMPATIBLE(const CODESET_INCOMPATIBLE&); virtual void _raise() const { throw *this; } virtual const char* _name() const; virtual const char* _rep_id() const; virtual char* _to_string() const; static CODESET_INCOMPATIBLE* _downcast(Exception* p) { return dynamic_cast<CODESET_INCOMPATIBLE*>(p); } static const CODESET_INCOMPATIBLE* _downcast(const Exception* p) { return dynamic_cast<const CODESET_INCOMPATIBLE*>(p); } virtual Exception* _OB_clone() const; virtual void _OB_insertInAny(Any&); };
class REBIND : public SystemException { public: REBIND(const char* r = ""); REBIND(ULong, CompletionStatus); REBIND(const char*, ULong, CompletionStatus); REBIND(const REBIND&); virtual void _raise() const { throw *this; } virtual const char* _name() const; virtual const char* _rep_id() const; virtual char* _to_string() const; static REBIND* _downcast(Exception* p) { return dynamic_cast<REBIND*>(p); } static const REBIND* _downcast(const Exception* p) { return dynamic_cast<const REBIND*>(p); } virtual Exception* _OB_clone() const; virtual void _OB_insertInAny(Any&); };
class TIMEOUT : public SystemException { public: TIMEOUT(const char* r = ""); TIMEOUT(ULong, CompletionStatus); TIMEOUT(const char*, ULong, CompletionStatus); TIMEOUT(const TIMEOUT&); virtual void _raise() const { throw *this; } virtual const char* _name() const; virtual const char* _rep_id() const; virtual char* _to_string() const; static TIMEOUT* _downcast(Exception* p) { return dynamic_cast<TIMEOUT*>(p); } static const TIMEOUT* _downcast(const Exception* p) { return dynamic_cast<const TIMEOUT*>(p); } virtual Exception* _OB_clone() const; virtual void _OB_insertInAny(Any&); };
class TRANSACTION_UNAVAILABLE : public SystemException { public: TRANSACTION_UNAVAILABLE(const char* r = ""); TRANSACTION_UNAVAILABLE(ULong, CompletionStatus); TRANSACTION_UNAVAILABLE(const char*, ULong, CompletionStatus); TRANSACTION_UNAVAILABLE(const TRANSACTION_UNAVAILABLE&); virtual void _raise() const { throw *this; } virtual const char* _name() const; virtual const char* _rep_id() const; virtual char* _to_string() const; static TRANSACTION_UNAVAILABLE* _downcast(Exception* p) { return dynamic_cast<TRANSACTION_UNAVAILABLE*>(p); } static const TRANSACTION_UNAVAILABLE* _downcast(const Exception* p) { return dynamic_cast<const TRANSACTION_UNAVAILABLE*>(p); } virtual Exception* _OB_clone() const; virtual void _OB_insertInAny(Any&); };
class TRANSACTION_MODE : public SystemException { public: TRANSACTION_MODE(const char* r = ""); TRANSACTION_MODE(ULong, CompletionStatus); TRANSACTION_MODE(const char*, ULong, CompletionStatus); TRANSACTION_MODE(const TRANSACTION_MODE&); virtual void _raise() const { throw *this; } virtual const char* _name() const; virtual const char* _rep_id() const; virtual char* _to_string() const; static TRANSACTION_MODE* _downcast(Exception* p) { return dynamic_cast<TRANSACTION_MODE*>(p); } static const TRANSACTION_MODE* _downcast(const Exception* p) { return dynamic_cast<const TRANSACTION_MODE*>(p); } virtual Exception* _OB_clone() const; virtual void _OB_insertInAny(Any&); };
class BAD_QOS : public SystemException { public: BAD_QOS(const char* r = ""); BAD_QOS(ULong, CompletionStatus); BAD_QOS(const char*, ULong, CompletionStatus); BAD_QOS(const BAD_QOS&); virtual void _raise() const { throw *this; } virtual const char* _name() const; virtual const char* _rep_id() const; virtual char* _to_string() const; static BAD_QOS* _downcast(Exception* p) { return dynamic_cast<BAD_QOS*>(p); } static const BAD_QOS* _downcast(const Exception* p) { return dynamic_cast<const BAD_QOS*>(p); } virtual Exception* _OB_clone() const; virtual void _OB_insertInAny(Any&); };
class UnknownUserException : public UserException
{
Any* any_;
public:
UnknownUserException();
UnknownUserException(const UnknownUserException&);
UnknownUserException(const Any&);
UnknownUserException& operator=(const UnknownUserException&);
~UnknownUserException();
Any& exception();
static UnknownUserException* _downcast(Exception* p)
{ return dynamic_cast<UnknownUserException*>(p); }
static const UnknownUserException*
_downcast(const Exception* p)
{ return dynamic_cast<const UnknownUserException*>(p); }
virtual void _raise() const { throw *this; }
virtual const char* _name() const { return "UnknownUserException"; }
virtual const char* _rep_id() const
{ return "IDL:omg.org/CORBA/UnknownUserException:1.0"; }
virtual char* _to_string() const
{ return _OB_defaultToString("CORBA::UnknownUserException"); }
virtual Exception* _OB_clone() const
{ return new UnknownUserException(*this); }
virtual void _OB_insertInAny(Any&);
virtual void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(UnknownUserException&, OB::InputStreamImpl*);
};
}
void operator<<=(CORBA::Any&, CORBA::UnknownUserException*);
void operator<<=(CORBA::Any&, const CORBA::UnknownUserException&);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::UnknownUserException*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::UnknownUserException* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::UnknownUserException& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::UnknownUserException*& val)
{
return any.in() >>= val;
}
namespace OB
{
enum VMCID
{
OMGVMCID = 0x4f4d0000,
OOCVMCID = 0x4f4f0000
};
# 426 "../../include/OB/Except.h"
enum MinorInitialize
{
MinorORBDestroyed = 1 | OOCVMCID
};
# 441 "../../include/OB/Except.h"
enum MinorNoImplement
{
MinorMissingLocalValueImplementation = 1 | OMGVMCID,
MinorIncompatibleValueImplementationVersion = 2 | OMGVMCID,
MinorNotSupportedByLocalObject = 3 | OMGVMCID,
MinorDIINotSupportedByLocalObject = 4 | OMGVMCID
};
# 459 "../../include/OB/Except.h"
enum MinorObjectNotExist
{
MinorUnregisteredValue = 1 | OMGVMCID,
MinorCannotDispatch = 2 | OMGVMCID
};
# 475 "../../include/OB/Except.h"
enum MinorBadParam
{
MinorValueFactoryError = 1 | OMGVMCID,
MinorRepositoryIdExists = 2 | OMGVMCID,
MinorNameExists = 3 | OMGVMCID,
MinorInvalidContainer = 4 | OMGVMCID,
MinorNameClashInInheritedContext = 5 | OMGVMCID,
MinorBadAbstractInterfaceType = 6 | OMGVMCID,
MinorBadSchemeName = 7 | OMGVMCID,
MinorBadAddress = 8 | OMGVMCID,
MinorBadSchemeSpecificPart = 9 | OMGVMCID,
MinorOther = 10 | OMGVMCID,
MinorInvalidAbstractInterfaceInheritance = 11 | OMGVMCID,
MinorInvalidValueInheritance = 12 | OMGVMCID,
MinorIncompleteTypeCodeParameter = 13 | OMGVMCID,
MinorInvalidObjectId = 14 | OMGVMCID,
MinorInvalidName = 15 | OMGVMCID,
MinorInvalidId = 16 | OMGVMCID,
MinorInvalidMemberName = 17 | OMGVMCID,
MinorDuplicateLabel = 18 | OMGVMCID,
MinorIncompatibleLabelType = 19 | OMGVMCID,
MinorInvalidDiscriminatorType = 20 | OMGVMCID,
MinorNoExceptionInAny = 21 | OMGVMCID,
MinorUnlistedUserException = 22 | OMGVMCID,
MinorNoWcharCodeSet = 23 | OMGVMCID,
MinorServiceContextIdOutOfRange = 24 | OMGVMCID,
MinorEnumValueOutOfRange = 25 | OMGVMCID,
MinorInvalidServiceContextId = 26 | OMGVMCID,
MinorObjectIsNull = 27 | OMGVMCID,
MinorInvalidComponentId = 28 | OMGVMCID,
MinorInvalidProfileId = 29 | OMGVMCID,
MinorDuplicatePolicyType = 30 | OMGVMCID,
MinorDuplicateDeclarator = 1 | OOCVMCID,
MinorInvalidValueModifier = 2 | OOCVMCID,
MinorDuplicateValueInit = 3 | OOCVMCID,
MinorAbstractValueInit = 4 | OOCVMCID,
MinorDuplicateBaseType = 5 | OOCVMCID,
MinorSingleThreadedOnly = 6 | OOCVMCID,
MinorNameRedefinitionInImmediateScope = 7 | OOCVMCID,
MinorInvalidValueBoxType = 8 | OOCVMCID,
MinorInvalidLocalInterfaceInheritance = 9 | OOCVMCID,
MinorConstantTypeMismatch = 10 | OOCVMCID
};
# 533 "../../include/OB/Except.h"
enum MinorBadInvOrder
{
MinorDependencyPreventsDestruction = 1 | OMGVMCID,
MinorIndestructibleObject = 2 | OMGVMCID,
MinorDestroyWouldBlock = 3 | OMGVMCID,
MinorShutdownCalled = 4 | OMGVMCID,
MinorDuplicateSend = 5 | OMGVMCID,
MinorServantManagerAlreadySet = 6 | OMGVMCID,
MinorInvalidUseOfDSIArguments = 7 | OMGVMCID,
MinorInvalidUseOfDSIContext = 8 | OMGVMCID,
MinorInvalidUseOfDSIResult = 9 | OMGVMCID,
MinorRequestAlreadySent = 10 | OMGVMCID,
MinorRequestNotSent = 11 | OMGVMCID,
MinorResponseAlreadyReceived = 12 | OMGVMCID,
MinorSynchronousRequest = 13 | OMGVMCID,
MinorInvalidPICall = 14 | OMGVMCID,
MinorServiceContextExists = 15 | OMGVMCID,
MinorPolicyFactoryExists = 16 | OMGVMCID,
MinorNoCreatePOA = 17 | OMGVMCID,
MinorBadConcModel = 1 | OOCVMCID,
MinorORBRunning = 2 | OOCVMCID
};
# 570 "../../include/OB/Except.h"
enum MinorCommFailure
{
# 580 "../../include/OB/Except.h"
MinorRecv = 1 | OOCVMCID,
MinorSend = 2 | OOCVMCID,
MinorRecvZero = 3 | OOCVMCID,
MinorSendZero = 4 | OOCVMCID,
MinorSocket = 5 | OOCVMCID,
MinorSetsockopt = 6 | OOCVMCID,
MinorGetsockopt = 7 | OOCVMCID,
MinorBind = 8 | OOCVMCID,
MinorListen = 9 | OOCVMCID,
MinorConnect = 10 | OOCVMCID,
MinorAccept = 11 | OOCVMCID,
MinorSelect = 12 | OOCVMCID,
MinorSetSoTimeout = 26 | OOCVMCID,
MinorGetsockname = 27 | OOCVMCID,
MinorGetpeername = 28 | OOCVMCID,
MinorGethostname = 13 | OOCVMCID,
MinorGethostbyname = 14 | OOCVMCID,
MinorWSAStartup = 15 | OOCVMCID,
MinorWSACleanup = 16 | OOCVMCID,
MinorNoGIOP = 17 | OOCVMCID,
MinorUnknownMessage = 18 | OOCVMCID,
MinorWrongMessage = 19 | OOCVMCID,
MinorMessageError = 21 | OOCVMCID,
MinorFragment = 22 | OOCVMCID,
MinorUnknownReqId = 24 | OOCVMCID,
MinorVersion = 25 | OOCVMCID,
MinorPipe = 23 | OOCVMCID,
MinorDeprecatedCloseConnection = 20 | OOCVMCID
};
# 625 "../../include/OB/Except.h"
enum MinorIntfRepos
{
# 635 "../../include/OB/Except.h"
MinorNoIntfRepos = 1 | OOCVMCID,
MinorLookupAmbiguous = 2 | OOCVMCID,
MinorIllegalRecursion = 3 | OOCVMCID,
MinorNoEntry = 4 | OOCVMCID
};
# 648 "../../include/OB/Except.h"
enum MinorMarshal
{
MinorNoValueFactory = 1 | OMGVMCID,
MinorDSIResultBeforeContext = 2 | OMGVMCID,
MinorDSIInvalidParameterList = 3 | OMGVMCID,
MinorLocalObject = 4 | OMGVMCID,
MinorWcharSentByClient = 5 | OMGVMCID,
MinorWcharSentByServer = 6 | OMGVMCID,
MinorReadOverflow = 1 | OOCVMCID,
MinorReadBooleanOverflow = 2 | OOCVMCID,
MinorReadCharOverflow = 3 | OOCVMCID,
MinorReadWCharOverflow = 4 | OOCVMCID,
MinorReadOctetOverflow = 5 | OOCVMCID,
MinorReadShortOverflow = 6 | OOCVMCID,
MinorReadUShortOverflow = 7 | OOCVMCID,
MinorReadLongOverflow = 8 | OOCVMCID,
MinorReadULongOverflow = 9 | OOCVMCID,
MinorReadLongLongOverflow = 10 | OOCVMCID,
MinorReadULongLongOverflow = 11 | OOCVMCID,
MinorReadFloatOverflow = 12 | OOCVMCID,
MinorReadDoubleOverflow = 13 | OOCVMCID,
MinorReadLongDoubleOverflow = 14 | OOCVMCID,
MinorReadStringOverflow = 15 | OOCVMCID,
MinorReadStringZeroLength = 16 | OOCVMCID,
MinorReadStringNullChar = 17 | OOCVMCID,
MinorReadStringNoTerminator = 18 | OOCVMCID,
MinorReadWStringOverflow = 19 | OOCVMCID,
MinorReadWStringZeroLength = 20 | OOCVMCID,
MinorReadWStringNullWChar = 21 | OOCVMCID,
MinorReadWStringNoTerminator = 22 | OOCVMCID,
MinorReadFixedOverflow = 23 | OOCVMCID,
MinorReadFixedInvalid = 24 | OOCVMCID,
MinorReadBooleanArrayOverflow = 25 | OOCVMCID,
MinorReadCharArrayOverflow = 26 | OOCVMCID,
MinorReadWCharArrayOverflow = 27 | OOCVMCID,
MinorReadOctetArrayOverflow = 28 | OOCVMCID,
MinorReadShortArrayOverflow = 29 | OOCVMCID,
MinorReadUShortArrayOverflow = 30 | OOCVMCID,
MinorReadLongArrayOverflow = 31 | OOCVMCID,
MinorReadULongArrayOverflow = 32 | OOCVMCID,
MinorReadLongLongArrayOverflow = 33 | OOCVMCID,
MinorReadULongLongArrayOverflow = 34 | OOCVMCID,
MinorReadFloatArrayOverflow = 35 | OOCVMCID,
MinorReadDoubleArrayOverflow = 36 | OOCVMCID,
MinorReadLongDoubleArrayOverflow = 37 | OOCVMCID,
MinorReadInvTypeCodeIndirection = 38 | OOCVMCID,
MinorLongDoubleNotSupported = 40 | OOCVMCID,
MinorDeprecatedWriteObjectLocal = 39 | OOCVMCID
};
# 716 "../../include/OB/Except.h"
enum MinorImpLimit
{
MinorNoUsableProfile = 1 | OMGVMCID,
MinorMessageSizeLimit = 1 | OOCVMCID,
MinorThreadLimit = 2 | OOCVMCID
};
# 737 "../../include/OB/Except.h"
enum MinorNoMemory
{
MinorAllocationFailure = 1 | OOCVMCID
};
# 752 "../../include/OB/Except.h"
enum MinorTransient
{
MinorRequestDiscarded = 1 | OMGVMCID,
MinorNoUsableProfileInIOR = 2 | OMGVMCID,
MinorRequestCancelled = 3 | OMGVMCID,
MinorPOADestroyed = 4 | OMGVMCID,
MinorConnectFailed = 1 | OOCVMCID,
MinorCloseConnection = 2 | OOCVMCID,
MinorActiveConnectionManagement = 3 | OOCVMCID,
MinorForcedShutdown = 4 | OOCVMCID,
MinorLocationForwardHopCountExceeded = 5 | OOCVMCID
};
# 779 "../../include/OB/Except.h"
enum MinorNoResources
{
MinorInvalidBinding = 1 | OMGVMCID
};
# 794 "../../include/OB/Except.h"
enum MinorUnknown
{
MinorUnknownUserException = 1 | OMGVMCID,
MinorSystemExceptionNotSupported = 2 | OMGVMCID
};
# 810 "../../include/OB/Except.h"
enum MinorInvPolicy
{
MinorCannotReconcilePolicy = 1 | OMGVMCID,
MinorInvalidPolicyType = 2 | OMGVMCID,
MinorNoPolicyFactory = 3 | OMGVMCID
};
# 827 "../../include/OB/Except.h"
enum MinorInvObjref
{
MinorNoWcharSupport = 1 | OMGVMCID,
MinorWcharCodeSetRequired = 2 | OMGVMCID
};
# 843 "../../include/OB/Except.h"
enum MinorBadTypecode
{
MinorIncompleteTypeCode = 1 | OMGVMCID,
MinorInvalidMemberType = 2 | OMGVMCID
};
# 859 "../../include/OB/Except.h"
enum MinorObjAdapter
{
MinorSystemExceptionInUnknownAdapter = 1 | OMGVMCID,
MinorServantNotFound = 2 | OMGVMCID,
MinorNoDefaultServant = 3 | OMGVMCID,
MinorNoServantManager = 4 | OMGVMCID,
MinorIncarnateViolatedPOAPolicy = 5 | OMGVMCID
};
# 878 "../../include/OB/Except.h"
enum MinorDataConversion
{
MinorNoCharacterMapping = 1 | OMGVMCID
};
}
# 24 "../../include/OB/Any.h" 2
namespace CORBA
{
class Any
{
TypeCode_var type_;
void* value_;
Boolean rel_;
const OB::ConstructedInfo* info_;
OB::ORBInstance_var orbInstance_;
void operator<<=(unsigned char);
Boolean operator>>=(unsigned char&) const;
void operator<<=(bool);
Boolean operator>>=(bool&) const;
public:
Any();
Any(const Any&);
Any(TypeCode_ptr, void*, Boolean = false);
~Any();
Any& operator=(const Any&);
void operator<<=(Short);
void operator<<=(UShort);
void operator<<=(Long);
void operator<<=(ULong);
void operator<<=(LongLong);
void operator<<=(ULongLong);
void operator<<=(Float);
void operator<<=(Double);
void operator<<=(LongDouble);
void operator<<=(const char*);
void operator<<=(const CORBA::String_var&);
void operator<<=(const OB::StrForSeq&);
void operator<<=(const wchar_t*);
void operator<<=(const CORBA::WString_var&);
void operator<<=(const OB::WStrForSeq&);
void operator<<=(const Any&);
void operator<<=(Any*);
void operator<<=(const Exception&);
void operator<<=(Exception*);
void operator<<=(TypeCode_ptr);
void operator<<=(TypeCode_ptr*);
void operator<<=(Principal_ptr);
void operator<<=(Principal_ptr*);
void operator<<=(Object_ptr);
void operator<<=(Object_ptr*);
Boolean operator>>=(Short&) const;
Boolean operator>>=(UShort&) const;
Boolean operator>>=(Long&) const;
Boolean operator>>=(ULong&) const;
Boolean operator>>=(LongLong&) const;
Boolean operator>>=(ULongLong&) const;
Boolean operator>>=(Float&) const;
Boolean operator>>=(Double&) const;
Boolean operator>>=(LongDouble&) const;
Boolean operator>>=(const char*&) const;
Boolean operator>>=(const wchar_t*&) const;
Boolean operator>>=(const Any*&) const;
Boolean operator>>=(const SystemException*&) const;
Boolean operator>>=(TypeCode_ptr&) const;
Boolean operator>>=(Principal_ptr&) const;
Boolean operator>>=(Object_ptr&) const;
struct from_boolean
{
Boolean val;
from_boolean(Boolean v) : val(v) {}
from_boolean(const from_boolean& v) : val(v.val) {}
};
struct from_octet
{
Octet val;
from_octet(Octet v) : val(v) {}
from_octet(const from_octet& v) : val(v.val) {}
};
struct from_char
{
Char val;
from_char(Char v) : val(v) {}
from_char(const from_char& v) : val(v.val) {}
};
struct from_wchar
{
WChar val;
from_wchar(WChar v) : val(v) {}
from_wchar(const from_wchar& v) : val(v.val) {}
};
struct from_string
{
char* val;
ULong bound;
Boolean nocopy;
from_string(char* v, ULong b, Boolean nc = false)
: val(v), bound(b), nocopy(nc) {}
from_string(const char* v, ULong b)
: val(const_cast<char*>(v)), bound(b), nocopy(false) {}
from_string(const from_string& v)
: val(v.val), bound(v.bound), nocopy(v.nocopy) {}
};
struct from_wstring
{
wchar_t* val;
ULong bound;
Boolean nocopy;
from_wstring(wchar_t* v, ULong b, Boolean nc = false)
: val(v), bound(b), nocopy(nc) {}
from_wstring(const wchar_t* v, ULong b)
: val(const_cast<wchar_t*>(v)), bound(b), nocopy(false) {}
from_wstring(const from_wstring& v)
: val(v.val), bound(v.bound), nocopy(v.nocopy) {}
};
struct from_fixed
{
const Fixed& val;
UShort digits;
UShort scale;
from_fixed(const Fixed& f, UShort d, UShort s)
: val(f), digits(d), scale(s) {}
from_fixed(const from_fixed& v) : val(v.val), digits(v.digits),
scale(v.scale) {}
};
void operator<<=(from_boolean);
void operator<<=(from_octet);
void operator<<=(from_char);
void operator<<=(from_wchar);
void operator<<=(from_string);
void operator<<=(from_wstring);
void operator<<=(from_fixed);
struct to_boolean
{
Boolean& val;
to_boolean(Boolean& v) : val(v) {}
to_boolean(const to_boolean& v) : val(v.val) {}
};
struct to_octet
{
Octet& val;
to_octet(Octet& v) : val(v) {}
to_octet(const to_octet& v) : val(v.val) {}
};
struct to_char
{
Char& val;
to_char(Char& v) : val(v) {}
to_char(const to_char& v) : val(v.val) {}
};
struct to_wchar
{
WChar& val;
to_wchar(WChar& v) : val(v) {}
to_wchar(const to_wchar& v) : val(v.val) {}
};
struct to_string
{
const char*& val;
ULong bound;
to_string(const char*& v, ULong b) : val(v), bound(b) {}
to_string(const to_string& v) : val(v.val), bound(v.bound) {}
to_string(char*& v, ULong b) : val((const char*&)v), bound(b) {}
};
struct to_wstring
{
const wchar_t*& val;
ULong bound;
to_wstring(const wchar_t*& v, ULong b) : val(v), bound(b) {}
to_wstring(const to_wstring& v) : val(v.val), bound(v.bound) {}
to_wstring(wchar_t*& v, ULong b) : val((const wchar_t*&)v), bound(b) {}
};
struct to_fixed
{
Fixed& val;
UShort digits;
UShort scale;
to_fixed(Fixed& f, UShort d, UShort s)
: val(f), digits(d), scale(s) {}
to_fixed(const to_fixed& v) : val(v.val), digits(v.digits),
scale(v.scale) {}
};
struct to_object
{
Object_ptr& val;
to_object(Object_out v) : val(v.ptr()) {}
to_object(const to_object& v) : val(v.val) {}
};
struct to_abstract_base
{
AbstractBase_ptr& val;
to_abstract_base(AbstractBase_ptr& v) : val(v) {}
to_abstract_base(const to_abstract_base& v) : val(v.val) {}
};
struct to_value
{
ValueBase*& val;
to_value(ValueBase*& v) : val(v) {}
to_value(const to_value& v) : val(v.val) {}
};
Boolean operator>>=(to_boolean) const;
Boolean operator>>=(to_octet) const;
Boolean operator>>=(to_char) const;
Boolean operator>>=(to_wchar) const;
Boolean operator>>=(to_string) const;
Boolean operator>>=(to_wstring) const;
Boolean operator>>=(to_fixed) const;
Boolean operator>>=(to_object) const;
Boolean operator>>=(to_abstract_base) const;
Boolean operator>>=(to_value) const;
void replace(TypeCode_ptr, void*, Boolean = false);
TypeCode_ptr type() const;
void type(TypeCode_ptr);
const void* value() const;
void replace(TypeCode_ptr, void*, Boolean, const OB::ConstructedInfo*);
Boolean check_type(TypeCode_ptr) const;
const OB::ConstructedInfo* info() const { return info_; }
OB::InputStream_ptr create_input_stream() const;
void _OB_ORBInstance(OB::ORBInstance_ptr);
OB::ORBInstance_ptr _OB_ORBInstance();
TypeCode_ptr _OB_type_nodup() const;
friend class ::OB::InputStreamImpl;
friend class ::OB::OutputStreamImpl;
};
typedef OB::VarVar< Any > Any_var;
typedef OB::VarOut< Any > Any_out;
}
void operator<<=(CORBA::Any_var&, CORBA::Short);
void operator<<=(CORBA::Any_var&, CORBA::UShort);
void operator<<=(CORBA::Any_var&, CORBA::Long);
void operator<<=(CORBA::Any_var&, CORBA::ULong);
void operator<<=(CORBA::Any_var&, CORBA::LongLong);
void operator<<=(CORBA::Any_var&, CORBA::ULongLong);
void operator<<=(CORBA::Any_var&, CORBA::Float);
void operator<<=(CORBA::Any_var&, CORBA::Double);
void operator<<=(CORBA::Any_var&, CORBA::LongDouble);
void operator<<=(CORBA::Any_var&, const char*);
void operator<<=(CORBA::Any_var&, char*);
void operator<<=(CORBA::Any_var&, const CORBA::String_var&);
void operator<<=(CORBA::Any_var&, const OB::StrForSeq&);
void operator<<=(CORBA::Any_var&, const wchar_t*);
void operator<<=(CORBA::Any_var&, wchar_t*);
void operator<<=(CORBA::Any_var&, const CORBA::WString_var&);
void operator<<=(CORBA::Any_var&, const OB::WStrForSeq&);
void operator<<=(CORBA::Any_var&, const CORBA::Any&);
void operator<<=(CORBA::Any_var&, CORBA::Any*);
void operator<<=(CORBA::Any_var&, CORBA::TypeCode_ptr);
void operator<<=(CORBA::Any_var&, CORBA::TypeCode_ptr*);
void operator<<=(CORBA::Any_var&, CORBA::Principal_ptr);
void operator<<=(CORBA::Any_var&, CORBA::Principal_ptr*);
void operator<<=(CORBA::Any_var&, CORBA::Object_ptr);
void operator<<=(CORBA::Any_var&, CORBA::Object_ptr*);
CORBA::Boolean operator>>=(const CORBA::Any_var&, CORBA::Short&);
CORBA::Boolean operator>>=(const CORBA::Any_var&, CORBA::UShort&);
CORBA::Boolean operator>>=(const CORBA::Any_var&, CORBA::Long&);
CORBA::Boolean operator>>=(const CORBA::Any_var&, CORBA::ULong&);
CORBA::Boolean operator>>=(const CORBA::Any_var&, CORBA::LongLong&);
CORBA::Boolean operator>>=(const CORBA::Any_var&, CORBA::ULongLong&);
CORBA::Boolean operator>>=(const CORBA::Any_var&, CORBA::Float&);
CORBA::Boolean operator>>=(const CORBA::Any_var&, CORBA::Double&);
CORBA::Boolean operator>>=(const CORBA::Any_var&, CORBA::LongDouble&);
CORBA::Boolean operator>>=(const CORBA::Any_var&, const char*&);
CORBA::Boolean operator>>=(const CORBA::Any_var&, const wchar_t*&);
CORBA::Boolean operator>>=(const CORBA::Any_var&, const CORBA::Any*&);
CORBA::Boolean operator>>=(const CORBA::Any_var&,
const CORBA::SystemException*&);
CORBA::Boolean operator>>=(const CORBA::Any_var&, CORBA::TypeCode_ptr&);
CORBA::Boolean operator>>=(const CORBA::Any_var&, CORBA::Principal_ptr&);
CORBA::Boolean operator>>=(const CORBA::Any_var&, CORBA::Object_ptr&);
void operator<<=(CORBA::Any_var&, CORBA::Any::from_boolean);
void operator<<=(CORBA::Any_var&, CORBA::Any::from_octet);
void operator<<=(CORBA::Any_var&, CORBA::Any::from_char);
void operator<<=(CORBA::Any_var&, CORBA::Any::from_wchar);
void operator<<=(CORBA::Any_var&, CORBA::Any::from_string);
void operator<<=(CORBA::Any_var&, CORBA::Any::from_wstring);
void operator<<=(CORBA::Any_var&, CORBA::Any::from_fixed);
CORBA::Boolean operator>>=(const CORBA::Any_var&, CORBA::Any::to_boolean);
CORBA::Boolean operator>>=(const CORBA::Any_var&, CORBA::Any::to_octet);
CORBA::Boolean operator>>=(const CORBA::Any_var&, CORBA::Any::to_char);
CORBA::Boolean operator>>=(const CORBA::Any_var&, CORBA::Any::to_wchar);
CORBA::Boolean operator>>=(const CORBA::Any_var&, CORBA::Any::to_string);
CORBA::Boolean operator>>=(const CORBA::Any_var&, CORBA::Any::to_wstring);
CORBA::Boolean operator>>=(const CORBA::Any_var&, CORBA::Any::to_fixed);
CORBA::Boolean operator>>=(const CORBA::Any_var&, CORBA::Any::to_object);
CORBA::Boolean operator>>=(const CORBA::Any_var&,
CORBA::Any::to_abstract_base);
CORBA::Boolean operator>>=(const CORBA::Any_var&, CORBA::Any::to_value);
# 412 "../../include/OB/Any.h"
namespace CORBA { class UNKNOWN; } void operator<<=(CORBA::Any&, CORBA::UNKNOWN*); void operator<<=(CORBA::Any&, const CORBA::UNKNOWN&); CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::UNKNOWN*&); inline void operator<<=(CORBA::Any_var& a, CORBA::UNKNOWN* v) { a.inout() <<= v; } inline void operator<<=(CORBA::Any_var& a, const CORBA::UNKNOWN& v) { a.inout() <<= v; } inline CORBA::Boolean operator>>=(const CORBA::Any_var& a, const CORBA::UNKNOWN*& v) { return a.in() >>= v; }
namespace CORBA { class BAD_PARAM; } void operator<<=(CORBA::Any&, CORBA::BAD_PARAM*); void operator<<=(CORBA::Any&, const CORBA::BAD_PARAM&); CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::BAD_PARAM*&); inline void operator<<=(CORBA::Any_var& a, CORBA::BAD_PARAM* v) { a.inout() <<= v; } inline void operator<<=(CORBA::Any_var& a, const CORBA::BAD_PARAM& v) { a.inout() <<= v; } inline CORBA::Boolean operator>>=(const CORBA::Any_var& a, const CORBA::BAD_PARAM*& v) { return a.in() >>= v; }
namespace CORBA { class NO_MEMORY; } void operator<<=(CORBA::Any&, CORBA::NO_MEMORY*); void operator<<=(CORBA::Any&, const CORBA::NO_MEMORY&); CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::NO_MEMORY*&); inline void operator<<=(CORBA::Any_var& a, CORBA::NO_MEMORY* v) { a.inout() <<= v; } inline void operator<<=(CORBA::Any_var& a, const CORBA::NO_MEMORY& v) { a.inout() <<= v; } inline CORBA::Boolean operator>>=(const CORBA::Any_var& a, const CORBA::NO_MEMORY*& v) { return a.in() >>= v; }
namespace CORBA { class IMP_LIMIT; } void operator<<=(CORBA::Any&, CORBA::IMP_LIMIT*); void operator<<=(CORBA::Any&, const CORBA::IMP_LIMIT&); CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::IMP_LIMIT*&); inline void operator<<=(CORBA::Any_var& a, CORBA::IMP_LIMIT* v) { a.inout() <<= v; } inline void operator<<=(CORBA::Any_var& a, const CORBA::IMP_LIMIT& v) { a.inout() <<= v; } inline CORBA::Boolean operator>>=(const CORBA::Any_var& a, const CORBA::IMP_LIMIT*& v) { return a.in() >>= v; }
namespace CORBA { class COMM_FAILURE; } void operator<<=(CORBA::Any&, CORBA::COMM_FAILURE*); void operator<<=(CORBA::Any&, const CORBA::COMM_FAILURE&); CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::COMM_FAILURE*&); inline void operator<<=(CORBA::Any_var& a, CORBA::COMM_FAILURE* v) { a.inout() <<= v; } inline void operator<<=(CORBA::Any_var& a, const CORBA::COMM_FAILURE& v) { a.inout() <<= v; } inline CORBA::Boolean operator>>=(const CORBA::Any_var& a, const CORBA::COMM_FAILURE*& v) { return a.in() >>= v; }
namespace CORBA { class INV_OBJREF; } void operator<<=(CORBA::Any&, CORBA::INV_OBJREF*); void operator<<=(CORBA::Any&, const CORBA::INV_OBJREF&); CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::INV_OBJREF*&); inline void operator<<=(CORBA::Any_var& a, CORBA::INV_OBJREF* v) { a.inout() <<= v; } inline void operator<<=(CORBA::Any_var& a, const CORBA::INV_OBJREF& v) { a.inout() <<= v; } inline CORBA::Boolean operator>>=(const CORBA::Any_var& a, const CORBA::INV_OBJREF*& v) { return a.in() >>= v; }
namespace CORBA { class NO_PERMISSION; } void operator<<=(CORBA::Any&, CORBA::NO_PERMISSION*); void operator<<=(CORBA::Any&, const CORBA::NO_PERMISSION&); CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::NO_PERMISSION*&); inline void operator<<=(CORBA::Any_var& a, CORBA::NO_PERMISSION* v) { a.inout() <<= v; } inline void operator<<=(CORBA::Any_var& a, const CORBA::NO_PERMISSION& v) { a.inout() <<= v; } inline CORBA::Boolean operator>>=(const CORBA::Any_var& a, const CORBA::NO_PERMISSION*& v) { return a.in() >>= v; }
namespace CORBA { class INTERNAL; } void operator<<=(CORBA::Any&, CORBA::INTERNAL*); void operator<<=(CORBA::Any&, const CORBA::INTERNAL&); CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::INTERNAL*&); inline void operator<<=(CORBA::Any_var& a, CORBA::INTERNAL* v) { a.inout() <<= v; } inline void operator<<=(CORBA::Any_var& a, const CORBA::INTERNAL& v) { a.inout() <<= v; } inline CORBA::Boolean operator>>=(const CORBA::Any_var& a, const CORBA::INTERNAL*& v) { return a.in() >>= v; }
namespace CORBA { class MARSHAL; } void operator<<=(CORBA::Any&, CORBA::MARSHAL*); void operator<<=(CORBA::Any&, const CORBA::MARSHAL&); CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::MARSHAL*&); inline void operator<<=(CORBA::Any_var& a, CORBA::MARSHAL* v) { a.inout() <<= v; } inline void operator<<=(CORBA::Any_var& a, const CORBA::MARSHAL& v) { a.inout() <<= v; } inline CORBA::Boolean operator>>=(const CORBA::Any_var& a, const CORBA::MARSHAL*& v) { return a.in() >>= v; }
namespace CORBA { class INITIALIZE; } void operator<<=(CORBA::Any&, CORBA::INITIALIZE*); void operator<<=(CORBA::Any&, const CORBA::INITIALIZE&); CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::INITIALIZE*&); inline void operator<<=(CORBA::Any_var& a, CORBA::INITIALIZE* v) { a.inout() <<= v; } inline void operator<<=(CORBA::Any_var& a, const CORBA::INITIALIZE& v) { a.inout() <<= v; } inline CORBA::Boolean operator>>=(const CORBA::Any_var& a, const CORBA::INITIALIZE*& v) { return a.in() >>= v; }
namespace CORBA { class NO_IMPLEMENT; } void operator<<=(CORBA::Any&, CORBA::NO_IMPLEMENT*); void operator<<=(CORBA::Any&, const CORBA::NO_IMPLEMENT&); CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::NO_IMPLEMENT*&); inline void operator<<=(CORBA::Any_var& a, CORBA::NO_IMPLEMENT* v) { a.inout() <<= v; } inline void operator<<=(CORBA::Any_var& a, const CORBA::NO_IMPLEMENT& v) { a.inout() <<= v; } inline CORBA::Boolean operator>>=(const CORBA::Any_var& a, const CORBA::NO_IMPLEMENT*& v) { return a.in() >>= v; }
namespace CORBA { class BAD_TYPECODE; } void operator<<=(CORBA::Any&, CORBA::BAD_TYPECODE*); void operator<<=(CORBA::Any&, const CORBA::BAD_TYPECODE&); CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::BAD_TYPECODE*&); inline void operator<<=(CORBA::Any_var& a, CORBA::BAD_TYPECODE* v) { a.inout() <<= v; } inline void operator<<=(CORBA::Any_var& a, const CORBA::BAD_TYPECODE& v) { a.inout() <<= v; } inline CORBA::Boolean operator>>=(const CORBA::Any_var& a, const CORBA::BAD_TYPECODE*& v) { return a.in() >>= v; }
namespace CORBA { class BAD_OPERATION; } void operator<<=(CORBA::Any&, CORBA::BAD_OPERATION*); void operator<<=(CORBA::Any&, const CORBA::BAD_OPERATION&); CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::BAD_OPERATION*&); inline void operator<<=(CORBA::Any_var& a, CORBA::BAD_OPERATION* v) { a.inout() <<= v; } inline void operator<<=(CORBA::Any_var& a, const CORBA::BAD_OPERATION& v) { a.inout() <<= v; } inline CORBA::Boolean operator>>=(const CORBA::Any_var& a, const CORBA::BAD_OPERATION*& v) { return a.in() >>= v; }
namespace CORBA { class NO_RESOURCES; } void operator<<=(CORBA::Any&, CORBA::NO_RESOURCES*); void operator<<=(CORBA::Any&, const CORBA::NO_RESOURCES&); CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::NO_RESOURCES*&); inline void operator<<=(CORBA::Any_var& a, CORBA::NO_RESOURCES* v) { a.inout() <<= v; } inline void operator<<=(CORBA::Any_var& a, const CORBA::NO_RESOURCES& v) { a.inout() <<= v; } inline CORBA::Boolean operator>>=(const CORBA::Any_var& a, const CORBA::NO_RESOURCES*& v) { return a.in() >>= v; }
namespace CORBA { class NO_RESPONSE; } void operator<<=(CORBA::Any&, CORBA::NO_RESPONSE*); void operator<<=(CORBA::Any&, const CORBA::NO_RESPONSE&); CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::NO_RESPONSE*&); inline void operator<<=(CORBA::Any_var& a, CORBA::NO_RESPONSE* v) { a.inout() <<= v; } inline void operator<<=(CORBA::Any_var& a, const CORBA::NO_RESPONSE& v) { a.inout() <<= v; } inline CORBA::Boolean operator>>=(const CORBA::Any_var& a, const CORBA::NO_RESPONSE*& v) { return a.in() >>= v; }
namespace CORBA { class PERSIST_STORE; } void operator<<=(CORBA::Any&, CORBA::PERSIST_STORE*); void operator<<=(CORBA::Any&, const CORBA::PERSIST_STORE&); CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::PERSIST_STORE*&); inline void operator<<=(CORBA::Any_var& a, CORBA::PERSIST_STORE* v) { a.inout() <<= v; } inline void operator<<=(CORBA::Any_var& a, const CORBA::PERSIST_STORE& v) { a.inout() <<= v; } inline CORBA::Boolean operator>>=(const CORBA::Any_var& a, const CORBA::PERSIST_STORE*& v) { return a.in() >>= v; }
namespace CORBA { class BAD_INV_ORDER; } void operator<<=(CORBA::Any&, CORBA::BAD_INV_ORDER*); void operator<<=(CORBA::Any&, const CORBA::BAD_INV_ORDER&); CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::BAD_INV_ORDER*&); inline void operator<<=(CORBA::Any_var& a, CORBA::BAD_INV_ORDER* v) { a.inout() <<= v; } inline void operator<<=(CORBA::Any_var& a, const CORBA::BAD_INV_ORDER& v) { a.inout() <<= v; } inline CORBA::Boolean operator>>=(const CORBA::Any_var& a, const CORBA::BAD_INV_ORDER*& v) { return a.in() >>= v; }
namespace CORBA { class TRANSIENT; } void operator<<=(CORBA::Any&, CORBA::TRANSIENT*); void operator<<=(CORBA::Any&, const CORBA::TRANSIENT&); CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::TRANSIENT*&); inline void operator<<=(CORBA::Any_var& a, CORBA::TRANSIENT* v) { a.inout() <<= v; } inline void operator<<=(CORBA::Any_var& a, const CORBA::TRANSIENT& v) { a.inout() <<= v; } inline CORBA::Boolean operator>>=(const CORBA::Any_var& a, const CORBA::TRANSIENT*& v) { return a.in() >>= v; }
namespace CORBA { class FREE_MEM; } void operator<<=(CORBA::Any&, CORBA::FREE_MEM*); void operator<<=(CORBA::Any&, const CORBA::FREE_MEM&); CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::FREE_MEM*&); inline void operator<<=(CORBA::Any_var& a, CORBA::FREE_MEM* v) { a.inout() <<= v; } inline void operator<<=(CORBA::Any_var& a, const CORBA::FREE_MEM& v) { a.inout() <<= v; } inline CORBA::Boolean operator>>=(const CORBA::Any_var& a, const CORBA::FREE_MEM*& v) { return a.in() >>= v; }
namespace CORBA { class INV_IDENT; } void operator<<=(CORBA::Any&, CORBA::INV_IDENT*); void operator<<=(CORBA::Any&, const CORBA::INV_IDENT&); CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::INV_IDENT*&); inline void operator<<=(CORBA::Any_var& a, CORBA::INV_IDENT* v) { a.inout() <<= v; } inline void operator<<=(CORBA::Any_var& a, const CORBA::INV_IDENT& v) { a.inout() <<= v; } inline CORBA::Boolean operator>>=(const CORBA::Any_var& a, const CORBA::INV_IDENT*& v) { return a.in() >>= v; }
namespace CORBA { class INV_FLAG; } void operator<<=(CORBA::Any&, CORBA::INV_FLAG*); void operator<<=(CORBA::Any&, const CORBA::INV_FLAG&); CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::INV_FLAG*&); inline void operator<<=(CORBA::Any_var& a, CORBA::INV_FLAG* v) { a.inout() <<= v; } inline void operator<<=(CORBA::Any_var& a, const CORBA::INV_FLAG& v) { a.inout() <<= v; } inline CORBA::Boolean operator>>=(const CORBA::Any_var& a, const CORBA::INV_FLAG*& v) { return a.in() >>= v; }
namespace CORBA { class INTF_REPOS; } void operator<<=(CORBA::Any&, CORBA::INTF_REPOS*); void operator<<=(CORBA::Any&, const CORBA::INTF_REPOS&); CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::INTF_REPOS*&); inline void operator<<=(CORBA::Any_var& a, CORBA::INTF_REPOS* v) { a.inout() <<= v; } inline void operator<<=(CORBA::Any_var& a, const CORBA::INTF_REPOS& v) { a.inout() <<= v; } inline CORBA::Boolean operator>>=(const CORBA::Any_var& a, const CORBA::INTF_REPOS*& v) { return a.in() >>= v; }
namespace CORBA { class BAD_CONTEXT; } void operator<<=(CORBA::Any&, CORBA::BAD_CONTEXT*); void operator<<=(CORBA::Any&, const CORBA::BAD_CONTEXT&); CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::BAD_CONTEXT*&); inline void operator<<=(CORBA::Any_var& a, CORBA::BAD_CONTEXT* v) { a.inout() <<= v; } inline void operator<<=(CORBA::Any_var& a, const CORBA::BAD_CONTEXT& v) { a.inout() <<= v; } inline CORBA::Boolean operator>>=(const CORBA::Any_var& a, const CORBA::BAD_CONTEXT*& v) { return a.in() >>= v; }
namespace CORBA { class OBJ_ADAPTER; } void operator<<=(CORBA::Any&, CORBA::OBJ_ADAPTER*); void operator<<=(CORBA::Any&, const CORBA::OBJ_ADAPTER&); CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::OBJ_ADAPTER*&); inline void operator<<=(CORBA::Any_var& a, CORBA::OBJ_ADAPTER* v) { a.inout() <<= v; } inline void operator<<=(CORBA::Any_var& a, const CORBA::OBJ_ADAPTER& v) { a.inout() <<= v; } inline CORBA::Boolean operator>>=(const CORBA::Any_var& a, const CORBA::OBJ_ADAPTER*& v) { return a.in() >>= v; }
namespace CORBA { class DATA_CONVERSION; } void operator<<=(CORBA::Any&, CORBA::DATA_CONVERSION*); void operator<<=(CORBA::Any&, const CORBA::DATA_CONVERSION&); CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::DATA_CONVERSION*&); inline void operator<<=(CORBA::Any_var& a, CORBA::DATA_CONVERSION* v) { a.inout() <<= v; } inline void operator<<=(CORBA::Any_var& a, const CORBA::DATA_CONVERSION& v) { a.inout() <<= v; } inline CORBA::Boolean operator>>=(const CORBA::Any_var& a, const CORBA::DATA_CONVERSION*& v) { return a.in() >>= v; }
namespace CORBA { class OBJECT_NOT_EXIST; } void operator<<=(CORBA::Any&, CORBA::OBJECT_NOT_EXIST*); void operator<<=(CORBA::Any&, const CORBA::OBJECT_NOT_EXIST&); CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::OBJECT_NOT_EXIST*&); inline void operator<<=(CORBA::Any_var& a, CORBA::OBJECT_NOT_EXIST* v) { a.inout() <<= v; } inline void operator<<=(CORBA::Any_var& a, const CORBA::OBJECT_NOT_EXIST& v) { a.inout() <<= v; } inline CORBA::Boolean operator>>=(const CORBA::Any_var& a, const CORBA::OBJECT_NOT_EXIST*& v) { return a.in() >>= v; }
namespace CORBA { class TRANSACTION_REQUIRED; } void operator<<=(CORBA::Any&, CORBA::TRANSACTION_REQUIRED*); void operator<<=(CORBA::Any&, const CORBA::TRANSACTION_REQUIRED&); CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::TRANSACTION_REQUIRED*&); inline void operator<<=(CORBA::Any_var& a, CORBA::TRANSACTION_REQUIRED* v) { a.inout() <<= v; } inline void operator<<=(CORBA::Any_var& a, const CORBA::TRANSACTION_REQUIRED& v) { a.inout() <<= v; } inline CORBA::Boolean operator>>=(const CORBA::Any_var& a, const CORBA::TRANSACTION_REQUIRED*& v) { return a.in() >>= v; }
namespace CORBA { class TRANSACTION_ROLLEDBACK; } void operator<<=(CORBA::Any&, CORBA::TRANSACTION_ROLLEDBACK*); void operator<<=(CORBA::Any&, const CORBA::TRANSACTION_ROLLEDBACK&); CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::TRANSACTION_ROLLEDBACK*&); inline void operator<<=(CORBA::Any_var& a, CORBA::TRANSACTION_ROLLEDBACK* v) { a.inout() <<= v; } inline void operator<<=(CORBA::Any_var& a, const CORBA::TRANSACTION_ROLLEDBACK& v) { a.inout() <<= v; } inline CORBA::Boolean operator>>=(const CORBA::Any_var& a, const CORBA::TRANSACTION_ROLLEDBACK*& v) { return a.in() >>= v; }
namespace CORBA { class INVALID_TRANSACTION; } void operator<<=(CORBA::Any&, CORBA::INVALID_TRANSACTION*); void operator<<=(CORBA::Any&, const CORBA::INVALID_TRANSACTION&); CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::INVALID_TRANSACTION*&); inline void operator<<=(CORBA::Any_var& a, CORBA::INVALID_TRANSACTION* v) { a.inout() <<= v; } inline void operator<<=(CORBA::Any_var& a, const CORBA::INVALID_TRANSACTION& v) { a.inout() <<= v; } inline CORBA::Boolean operator>>=(const CORBA::Any_var& a, const CORBA::INVALID_TRANSACTION*& v) { return a.in() >>= v; }
namespace CORBA { class INV_POLICY; } void operator<<=(CORBA::Any&, CORBA::INV_POLICY*); void operator<<=(CORBA::Any&, const CORBA::INV_POLICY&); CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::INV_POLICY*&); inline void operator<<=(CORBA::Any_var& a, CORBA::INV_POLICY* v) { a.inout() <<= v; } inline void operator<<=(CORBA::Any_var& a, const CORBA::INV_POLICY& v) { a.inout() <<= v; } inline CORBA::Boolean operator>>=(const CORBA::Any_var& a, const CORBA::INV_POLICY*& v) { return a.in() >>= v; }
namespace CORBA { class CODESET_INCOMPATIBLE; } void operator<<=(CORBA::Any&, CORBA::CODESET_INCOMPATIBLE*); void operator<<=(CORBA::Any&, const CORBA::CODESET_INCOMPATIBLE&); CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::CODESET_INCOMPATIBLE*&); inline void operator<<=(CORBA::Any_var& a, CORBA::CODESET_INCOMPATIBLE* v) { a.inout() <<= v; } inline void operator<<=(CORBA::Any_var& a, const CORBA::CODESET_INCOMPATIBLE& v) { a.inout() <<= v; } inline CORBA::Boolean operator>>=(const CORBA::Any_var& a, const CORBA::CODESET_INCOMPATIBLE*& v) { return a.in() >>= v; }
namespace CORBA { class REBIND; } void operator<<=(CORBA::Any&, CORBA::REBIND*); void operator<<=(CORBA::Any&, const CORBA::REBIND&); CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::REBIND*&); inline void operator<<=(CORBA::Any_var& a, CORBA::REBIND* v) { a.inout() <<= v; } inline void operator<<=(CORBA::Any_var& a, const CORBA::REBIND& v) { a.inout() <<= v; } inline CORBA::Boolean operator>>=(const CORBA::Any_var& a, const CORBA::REBIND*& v) { return a.in() >>= v; }
namespace CORBA { class TIMEOUT; } void operator<<=(CORBA::Any&, CORBA::TIMEOUT*); void operator<<=(CORBA::Any&, const CORBA::TIMEOUT&); CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::TIMEOUT*&); inline void operator<<=(CORBA::Any_var& a, CORBA::TIMEOUT* v) { a.inout() <<= v; } inline void operator<<=(CORBA::Any_var& a, const CORBA::TIMEOUT& v) { a.inout() <<= v; } inline CORBA::Boolean operator>>=(const CORBA::Any_var& a, const CORBA::TIMEOUT*& v) { return a.in() >>= v; }
namespace CORBA { class TRANSACTION_UNAVAILABLE; } void operator<<=(CORBA::Any&, CORBA::TRANSACTION_UNAVAILABLE*); void operator<<=(CORBA::Any&, const CORBA::TRANSACTION_UNAVAILABLE&); CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::TRANSACTION_UNAVAILABLE*&); inline void operator<<=(CORBA::Any_var& a, CORBA::TRANSACTION_UNAVAILABLE* v) { a.inout() <<= v; } inline void operator<<=(CORBA::Any_var& a, const CORBA::TRANSACTION_UNAVAILABLE& v) { a.inout() <<= v; } inline CORBA::Boolean operator>>=(const CORBA::Any_var& a, const CORBA::TRANSACTION_UNAVAILABLE*& v) { return a.in() >>= v; }
namespace CORBA { class TRANSACTION_MODE; } void operator<<=(CORBA::Any&, CORBA::TRANSACTION_MODE*); void operator<<=(CORBA::Any&, const CORBA::TRANSACTION_MODE&); CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::TRANSACTION_MODE*&); inline void operator<<=(CORBA::Any_var& a, CORBA::TRANSACTION_MODE* v) { a.inout() <<= v; } inline void operator<<=(CORBA::Any_var& a, const CORBA::TRANSACTION_MODE& v) { a.inout() <<= v; } inline CORBA::Boolean operator>>=(const CORBA::Any_var& a, const CORBA::TRANSACTION_MODE*& v) { return a.in() >>= v; }
namespace CORBA { class BAD_QOS; } void operator<<=(CORBA::Any&, CORBA::BAD_QOS*); void operator<<=(CORBA::Any&, const CORBA::BAD_QOS&); CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::BAD_QOS*&); inline void operator<<=(CORBA::Any_var& a, CORBA::BAD_QOS* v) { a.inout() <<= v; } inline void operator<<=(CORBA::Any_var& a, const CORBA::BAD_QOS& v) { a.inout() <<= v; } inline CORBA::Boolean operator>>=(const CORBA::Any_var& a, const CORBA::BAD_QOS*& v) { return a.in() >>= v; }
# 15 "../../include/OB/TypeCode.h" 2
# 1 "../../include/OB/TypeCodeConst.h" 1
# 16 "../../include/OB/TypeCode.h" 2
# 1 "../../include/OB/TCKind.h" 1
# 37 "../../include/OB/TCKind.h"
namespace CORBA
{
}
namespace CORBA
{
}
namespace OBStubImpl_CORBA
{
}
namespace OBStubImpl_CORBA
{
}
namespace CORBA
{
enum TCKind
{
tk_null,
tk_void,
tk_short,
tk_long,
tk_ushort,
tk_ulong,
tk_float,
tk_double,
tk_boolean,
tk_char,
tk_octet,
tk_any,
tk_TypeCode,
tk_Principal,
tk_objref,
tk_struct,
tk_union,
tk_enum,
tk_string,
tk_sequence,
tk_array,
tk_alias,
tk_except,
tk_longlong,
tk_ulonglong,
tk_longdouble,
tk_wchar,
tk_wstring,
tk_fixed,
tk_value,
tk_value_box,
tk_native,
tk_abstract_interface,
tk_local_interface
};
typedef TCKind& TCKind_out;
extern OB::TypeCodeConst _tc_TCKind;
}
namespace OBProxy_CORBA
{
}
namespace OBStubImpl_CORBA
{
}
namespace OBMarshalStubImpl_CORBA
{
}
namespace OBV_CORBA
{
}
void operator<<=(CORBA::Any&, CORBA::TCKind);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::TCKind&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::TCKind val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::TCKind& val)
{
return any.in() >>= val;
}
# 17 "../../include/OB/TypeCode.h" 2
namespace OB
{
class TypeCodeConst;
class TypeCodeFactory;
}
namespace CORBA
{
typedef CORBA::Short ValueModifier;
typedef CORBA::Short Visibility;
class TypeCode : public JTCMutex, public OB::SimpleRefCount
{
TCKind kind_;
String_var id_;
String_var name_;
OB::StrSeq< int > memberNames_;
OB::ObjSeq< TypeCode, int > memberTypes_;
OB::VarSeq< Any, int > labels_;
TypeCode_var discriminatorType_;
ULong length_;
TypeCode_var contentType_;
UShort fixedDigits_;
Short fixedScale_;
OB::FixSeq< Short, int > memberVisibility_;
ValueModifier typeModifier_;
TypeCode_var concreteBaseType_;
String_var recId_;
TypeCode_var recType_;
bool equivalentRecHelper(TypeCode_ptr, OB::FixSeq< TypeCode_ptr, int >&,
OB::FixSeq< TypeCode_ptr, int >&) const;
bool equivalentRec(TypeCode_ptr, OB::FixSeq< TypeCode_ptr, int >&,
OB::FixSeq< TypeCode_ptr, int >&) const;
TypeCode_ptr getCompactTypeCodeRec(OB::FixSeq< TypeCode_ptr, int >&,
OB::FixSeq< TypeCode_ptr, int >&) const;
ULong tryRefCount_;
bool releaseVisit_;
bool tryReleaseVisit_;
bool reachableVisit_;
void resetTryRelease();
void tryRelease();
bool checkTryRelease(TypeCode_ptr);
bool isReachable(TypeCode_ptr);
bool gc_;
TypeCode(const TypeCode&);
void operator=(const TypeCode&);
protected:
friend class ::OB::TypeCodeConst;
friend class ::OB::TypeCodeFactory;
friend class ::OB::InputStreamImpl;
friend class ::OB::OutputStreamImpl;
TypeCode(bool = false);
virtual ~TypeCode();
public:
static inline TypeCode_ptr _duplicate(TypeCode_ptr p)
{
if(p)
{
p -> _OB_duplicateWithGC();
}
return p;
}
static inline TypeCode_ptr _nil()
{ return 0; }
struct Bounds : public UserException
{
Bounds() { }
Bounds(const Bounds& ex) : UserException(ex) { }
Bounds& operator=(const Bounds&) { return *this; }
static Bounds* _downcast(Exception* p)
{ return dynamic_cast<Bounds*>(p); }
static const Bounds* _downcast(const Exception* p)
{ return dynamic_cast<const Bounds*>(p); }
virtual void _raise() const { throw *this; }
virtual const char* _name() const { return "Bounds"; }
virtual const char* _rep_id() const
{ return "IDL:omg.org/CORBA/TypeCode/Bounds:1.0"; }
virtual char* _to_string() const
{ return _OB_defaultToString("CORBA::TypeCode::Bounds"); }
virtual Exception* _OB_clone() const { return new Bounds(*this); }
virtual void _OB_insertInAny(Any&);
static void _OB_unmarshal(Bounds&, OB::InputStreamImpl*);
};
class TypeCodeConstForBounds : public JTCMutex
{
TypeCodeConstForBounds(const TypeCodeConstForBounds&);
void operator=(const TypeCodeConstForBounds&);
CORBA::TypeCode_var typeCode_;
public:
TypeCodeConstForBounds() { }
operator CORBA::TypeCode_ptr();
CORBA::TypeCode_ptr operator->()
{ return operator CORBA::TypeCode_ptr(); }
};
static TypeCodeConstForBounds _tc_Bounds;
struct BadKind : public UserException
{
BadKind() { }
BadKind(const BadKind& ex) : UserException(ex) { }
BadKind& operator=(const BadKind&) { return *this; }
static BadKind* _downcast(Exception* p)
{ return dynamic_cast<BadKind*>(p); }
static const BadKind* _downcast(const Exception* p)
{ return dynamic_cast<const BadKind*>(p); }
virtual void _raise() const { throw *this; }
virtual const char* _name() const { return "BadKind"; }
virtual const char* _rep_id() const
{ return "IDL:omg.org/CORBA/TypeCode/BadKind:1.0"; }
virtual char* _to_string() const
{ return _OB_defaultToString("CORBA::TypeCode::BadKind"); }
virtual Exception* _OB_clone() const { return new BadKind(*this); }
virtual void _OB_insertInAny(Any&);
static void _OB_unmarshal(BadKind&, OB::InputStreamImpl*);
};
class TypeCodeConstForBadKind : public JTCMutex
{
TypeCodeConstForBadKind(const TypeCodeConstForBadKind&);
void operator=(const TypeCodeConstForBadKind&);
CORBA::TypeCode_var typeCode_;
public:
TypeCodeConstForBadKind() { }
operator CORBA::TypeCode_ptr();
CORBA::TypeCode_ptr operator->()
{ return operator CORBA::TypeCode_ptr(); }
};
static TypeCodeConstForBadKind _tc_BadKind;
Boolean equal(TypeCode_ptr) const;
Boolean equivalent(TypeCode_ptr) const;
TypeCode_ptr get_compact_typecode() const;
TCKind kind() const;
const char* id() const;
const char* name() const;
ULong member_count() const;
const char* member_name(ULong index) const;
TypeCode_ptr member_type(ULong index) const;
Any* member_label(ULong index) const;
TypeCode_ptr discriminator_type() const;
Long default_index() const;
ULong length() const;
TypeCode_ptr content_type() const;
UShort fixed_digits() const;
Short fixed_scale() const;
Visibility member_visibility(ULong) const;
ValueModifier type_modifier() const;
TypeCode_ptr concrete_base_type() const;
bool _OB_isSystemException() const;
bool _OB_isRecursive() const { return recId_.in() ? true : false; }
void _OB_duplicateWithGC();
void _OB_releaseWithGC();
void _OB_disableGC();
void _OB_enableGC();
TypeCode_ptr _OB_contentType_nodup() const;
TypeCode_ptr _OB_memberType_nodup(ULong index) const;
TypeCode_ptr _OB_discriminatorType_nodup() const;
TypeCode_ptr _OB_concreteBaseType_nodup() const;
static void _OB_embedRecTC(TypeCode_ptr);
static void _OB_embedRecTC(TypeCode_ptr, TypeCode_ptr);
};
inline Boolean
is_nil(TypeCode_ptr p)
{
return p == 0;
}
inline void
release(TypeCode_ptr p)
{
if(!is_nil(p))
{
p -> _OB_releaseWithGC();
}
}
}
void operator<<=(CORBA::Any&, CORBA::TypeCode::Bounds*);
void operator<<=(CORBA::Any&, const CORBA::TypeCode::Bounds&);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::TypeCode::Bounds*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::TypeCode::Bounds* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::TypeCode::Bounds& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::TypeCode::Bounds*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::TypeCode::BadKind*);
void operator<<=(CORBA::Any&, const CORBA::TypeCode::BadKind&);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::TypeCode::BadKind*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::TypeCode::BadKind* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::TypeCode::BadKind& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::TypeCode::BadKind*& val)
{
return any.in() >>= val;
}
namespace OB
{
class TypeCodePrimitiveConst
{
TypeCodePrimitiveConst(const TypeCodePrimitiveConst&);
void operator=(const TypeCodePrimitiveConst&);
CORBA::TypeCode_var typeCode_;
CORBA::TCKind kind_;
public:
TypeCodePrimitiveConst(CORBA::TCKind);
operator CORBA::TypeCode_ptr()
{ return typeCode_; }
CORBA::TypeCode_ptr operator->()
{ return operator CORBA::TypeCode_ptr(); }
};
class TypeCodeStringConst : public JTCMutex
{
TypeCodeStringConst(const TypeCodeStringConst&);
void operator=(const TypeCodeStringConst&);
CORBA::TypeCode_var typeCode_;
bool wide_;
public:
TypeCodeStringConst(bool wide) : wide_(wide) { }
operator CORBA::TypeCode_ptr();
CORBA::TypeCode_ptr operator->()
{ return operator CORBA::TypeCode_ptr(); }
CORBA::TypeCode_ptr _OB_bounded(CORBA::ULong);
};
class TypeCodeFixedConst : public JTCMutex
{
TypeCodeFixedConst(const TypeCodeFixedConst&);
void operator=(const TypeCodeFixedConst&);
CORBA::TypeCode_var typeCode_;
public:
TypeCodeFixedConst() { }
operator CORBA::TypeCode_ptr();
CORBA::TypeCode_ptr operator->()
{ return operator CORBA::TypeCode_ptr(); }
CORBA::TypeCode_ptr _OB_fixed(CORBA::UShort, CORBA::UShort);
};
class TypeCodeObjectConst : public JTCMutex
{
TypeCodeObjectConst(const TypeCodeObjectConst&);
void operator=(const TypeCodeObjectConst&);
CORBA::TypeCode_var typeCode_;
public:
TypeCodeObjectConst() { }
operator CORBA::TypeCode_ptr();
CORBA::TypeCode_ptr operator->()
{ return operator CORBA::TypeCode_ptr(); }
};
class TypeCodeAbstractBaseConst : public JTCMutex
{
TypeCodeAbstractBaseConst(const TypeCodeAbstractBaseConst&);
void operator=(const TypeCodeAbstractBaseConst&);
CORBA::TypeCode_var typeCode_;
public:
TypeCodeAbstractBaseConst() { }
operator CORBA::TypeCode_ptr();
CORBA::TypeCode_ptr operator->()
{ return operator CORBA::TypeCode_ptr(); }
};
class TypeCodeValueBaseConst : public JTCMutex
{
TypeCodeValueBaseConst(const TypeCodeValueBaseConst&);
void operator=(const TypeCodeValueBaseConst&);
CORBA::TypeCode_var typeCode_;
public:
TypeCodeValueBaseConst() { }
operator CORBA::TypeCode_ptr();
CORBA::TypeCode_ptr operator->()
{ return operator CORBA::TypeCode_ptr(); }
};
class TypeCodeSysExConst : public JTCMutex
{
TypeCodeSysExConst(const TypeCodeSysExConst&);
void operator=(const TypeCodeSysExConst&);
CORBA::TypeCode_var typeCode_;
const char* name_;
public:
TypeCodeSysExConst(const char* name) : name_(name) { }
operator CORBA::TypeCode_ptr();
CORBA::TypeCode_ptr operator->()
{ return operator CORBA::TypeCode_ptr(); }
};
CORBA::TypeCode_ptr GetOrigType(CORBA::TypeCode_ptr);
CORBA::TypeCode_ptr GetOrigType_nodup(CORBA::TypeCode_ptr);
}
namespace CORBA
{
extern OB::TypeCodePrimitiveConst _tc_null;
extern OB::TypeCodePrimitiveConst _tc_void;
extern OB::TypeCodePrimitiveConst _tc_short;
extern OB::TypeCodePrimitiveConst _tc_long;
extern OB::TypeCodePrimitiveConst _tc_longlong;
extern OB::TypeCodePrimitiveConst _tc_ushort;
extern OB::TypeCodePrimitiveConst _tc_ulong;
extern OB::TypeCodePrimitiveConst _tc_ulonglong;
extern OB::TypeCodePrimitiveConst _tc_float;
extern OB::TypeCodePrimitiveConst _tc_double;
extern OB::TypeCodePrimitiveConst _tc_longdouble;
extern OB::TypeCodePrimitiveConst _tc_boolean;
extern OB::TypeCodePrimitiveConst _tc_char;
extern OB::TypeCodePrimitiveConst _tc_wchar;
extern OB::TypeCodePrimitiveConst _tc_octet;
extern OB::TypeCodePrimitiveConst _tc_any;
extern OB::TypeCodePrimitiveConst _tc_TypeCode;
extern OB::TypeCodePrimitiveConst _tc_Principal;
extern OB::TypeCodeStringConst _tc_string;
extern OB::TypeCodeStringConst _tc_wstring;
extern OB::TypeCodeFixedConst _tc_fixed;
extern OB::TypeCodeObjectConst _tc_Object;
extern OB::TypeCodeAbstractBaseConst _tc_AbstractBase;
extern OB::TypeCodeValueBaseConst _tc_ValueBase;
extern OB::TypeCodeSysExConst _tc_UNKNOWN;
extern OB::TypeCodeSysExConst _tc_BAD_PARAM;
extern OB::TypeCodeSysExConst _tc_NO_MEMORY;
extern OB::TypeCodeSysExConst _tc_IMP_LIMIT;
extern OB::TypeCodeSysExConst _tc_COMM_FAILURE;
extern OB::TypeCodeSysExConst _tc_INV_OBJREF;
extern OB::TypeCodeSysExConst _tc_NO_PERMISSION;
extern OB::TypeCodeSysExConst _tc_INTERNAL;
extern OB::TypeCodeSysExConst _tc_MARSHAL;
extern OB::TypeCodeSysExConst _tc_INITIALIZE;
extern OB::TypeCodeSysExConst _tc_NO_IMPLEMENT;
extern OB::TypeCodeSysExConst _tc_BAD_TYPECODE;
extern OB::TypeCodeSysExConst _tc_BAD_OPERATION;
extern OB::TypeCodeSysExConst _tc_NO_RESOURCES;
extern OB::TypeCodeSysExConst _tc_NO_RESPONSE;
extern OB::TypeCodeSysExConst _tc_PERSIST_STORE;
extern OB::TypeCodeSysExConst _tc_BAD_INV_ORDER;
extern OB::TypeCodeSysExConst _tc_TRANSIENT;
extern OB::TypeCodeSysExConst _tc_FREE_MEM;
extern OB::TypeCodeSysExConst _tc_INV_IDENT;
extern OB::TypeCodeSysExConst _tc_INV_FLAG;
extern OB::TypeCodeSysExConst _tc_INTF_REPOS;
extern OB::TypeCodeSysExConst _tc_BAD_CONTEXT;
extern OB::TypeCodeSysExConst _tc_OBJ_ADAPTER;
extern OB::TypeCodeSysExConst _tc_DATA_CONVERSION;
extern OB::TypeCodeSysExConst _tc_OBJECT_NOT_EXIST;
extern OB::TypeCodeSysExConst _tc_TRANSACTION_REQUIRED;
extern OB::TypeCodeSysExConst _tc_TRANSACTION_ROLLEDBACK;
extern OB::TypeCodeSysExConst _tc_INVALID_TRANSACTION;
extern OB::TypeCodeSysExConst _tc_INV_POLICY;
extern OB::TypeCodeSysExConst _tc_CODESET_INCOMPATIBLE;
extern OB::TypeCodeSysExConst _tc_REBIND;
extern OB::TypeCodeSysExConst _tc_TIMEOUT;
extern OB::TypeCodeSysExConst _tc_TRANSACTION_UNAVAILABLE;
extern OB::TypeCodeSysExConst _tc_TRANSACTION_MODE;
extern OB::TypeCodeSysExConst _tc_BAD_QOS;
}
# 16 "../../include/OB/CORBAClient.h" 2
# 1 "../../include/OB/Context.h" 1
# 14 "../../include/OB/Context.h"
# 1 "../../include/OB/Context_fwd.h" 1
# 14 "../../include/OB/Context_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 15 "../../include/OB/Context_fwd.h" 2
namespace CORBA
{
class Context;
typedef Context* Context_ptr;
typedef Context_ptr ContextRef;
}
void OBDuplicate(CORBA::Context_ptr);
void OBRelease(CORBA::Context_ptr);
namespace CORBA
{
typedef OB::ObjVar< Context > Context_var;
typedef OB::ObjOut< Context > Context_out;
}
# 15 "../../include/OB/Context.h" 2
# 1 "../../include/OB/NamedValue_fwd.h" 1
# 14 "../../include/OB/NamedValue_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 15 "../../include/OB/NamedValue_fwd.h" 2
namespace CORBA
{
class NamedValue;
typedef NamedValue* NamedValue_ptr;
typedef NamedValue_ptr NamedValueRef;
class NVList;
typedef NVList* NVList_ptr;
typedef NVList_ptr NVListRef;
}
void OBDuplicate(CORBA::NamedValue_ptr);
void OBRelease(CORBA::NamedValue_ptr);
void OBDuplicate(CORBA::NVList_ptr);
void OBRelease(CORBA::NVList_ptr);
namespace CORBA
{
typedef OB::ObjVar< NamedValue > NamedValue_var;
typedef OB::ObjOut< NamedValue > NamedValue_out;
typedef OB::ObjVar< NVList > NVList_var;
typedef OB::ObjOut< NVList > NVList_out;
}
# 16 "../../include/OB/Context.h" 2
# 1 "../../include/OB/AnyDeclaration.h" 1
# 17 "../../include/OB/Context.h" 2
# 1 "../../include/OB/Hashtable.h" 1
# 14 "../../include/OB/Hashtable.h"
# 1 "../../include/OB/Basic.h" 1
# 15 "../../include/OB/Hashtable.h" 2
# 1 "../../include/OB/STLConfig.h" 1
# 16 "../../include/OB/Hashtable.h" 2
# 1 "../../include/OB/allocator.h" 1
# 15 "../../include/OB/allocator.h"
# 1 "/opt/egcs/include/g++-v3/backward/new.h" 1 3
# 33 "/opt/egcs/include/g++-v3/backward/new.h" 3
# 1 "/opt/egcs/include/g++-v3/backward/backward_warning.h" 1 3
# 34 "/opt/egcs/include/g++-v3/backward/new.h" 2 3
# 1 "/opt/egcs/include/g++-v3/new" 1 3
# 35 "/opt/egcs/include/g++-v3/backward/new.h" 2 3
using std::bad_alloc;
using std::nothrow_t;
using std::nothrow;
using std::new_handler;
using std::set_new_handler;
# 16 "../../include/OB/allocator.h" 2
# 1 "/usr/include/assert.h" 1 3
# 36 "/usr/include/assert.h" 3
# 1 "/usr/include/features.h" 1 3
# 37 "/usr/include/assert.h" 2 3
# 65 "/usr/include/assert.h" 3
extern "C" {
extern void __assert_fail (__const char *__assertion, __const char *__file,
unsigned int __line, __const char *__function)
throw () __attribute__ ((__noreturn__));
extern void __assert_perror_fail (int __errnum, __const char *__file,
unsigned int __line,
__const char *__function)
throw () __attribute__ ((__noreturn__));
extern void __assert (const char *__assertion, const char *__file, int __line)
throw () __attribute__ ((__noreturn__));
}
# 17 "../../include/OB/allocator.h" 2
# 1 "/usr/include/stdlib.h" 1 3
# 18 "../../include/OB/allocator.h" 2
# 1 "../../include/OB/STLConfig.h" 1
# 20 "../../include/OB/allocator.h" 2
namespace OB
{
namespace stl
{
class Link
{
public:
Link *next;
};
# 50 "../../include/OB/allocator.h"
template<class T>
class allocator
{
private:
union Align
{
unsigned long long dummy;
char mem[10 * ((sizeof(T) < sizeof(Link)) ? sizeof(Link) : sizeof(T))];
};
private:
struct Chunk
{
Chunk* next;
Align mem;
};
Link* head_;
Chunk* chunks_;
Chunk chunk_;
void grow()
{
Chunk* n = chunks_ ? new Chunk : &chunk_;
n -> next = chunks_;
chunks_ = n;
char* start = n -> mem.mem;
char* last = &start[(10 -1) * ((sizeof(T) < sizeof(Link)) ? sizeof(Link) : sizeof(T))];
for (char* p = start; p < last; p += ((sizeof(T) < sizeof(Link)) ? sizeof(Link) : sizeof(T)))
reinterpret_cast<Link*>(p) -> next =
reinterpret_cast<Link*>(p + ((sizeof(T) < sizeof(Link)) ? sizeof(Link) : sizeof(T)));
reinterpret_cast<Link*>(last) -> next = 0;
head_ = reinterpret_cast<Link*>(start);
}
public:
typedef T value_type;
typedef T* pointer;
typedef const T* const_pointer;
typedef T& reference;
typedef const T& const_reference;
typedef unsigned long size_type;
allocator() : head_(0), chunks_(0)
{
}
~allocator()
{
if(chunks_)
{
Chunk* n = chunks_;
while(n -> next)
{
Chunk* p = n;
n = n -> next;
delete p;
}
}
}
pointer allocate(size_type n)
{
(static_cast<void> ((n <= max_size()) ? 0 : (__assert_fail ("n <= max_size()", "../../include/OB/allocator.h", 158, __PRETTY_FUNCTION__), 0)));
if(head_ == 0)
grow();
Link* p = head_;
head_ = p -> next;
return reinterpret_cast<pointer>(p);
}
void deallocate(pointer p, size_type n)
{
(static_cast<void> ((n <= max_size()) ? 0 : (__assert_fail ("n <= max_size()", "../../include/OB/allocator.h", 176, __PRETTY_FUNCTION__), 0)));
Link *b = reinterpret_cast<Link*>(p);
b -> next = head_;
head_ = b;
}
size_type max_size()
{
return 1;
}
void construct(pointer p, const T& t)
{
new ((void*) p) T(t);
}
void destroy(pointer p)
{
((T*) p) -> ~T();
}
pointer address(T& r)
{
return &r;
}
const_pointer address(const T& r)
{
return &r;
}
};
}
}
# 17 "../../include/OB/Hashtable.h" 2
namespace OB
{
template<class K, class T, class H>
struct HashtableNode
{
K key;
T value;
CORBA::ULong fullHash;
HashtableNode<K, T, H>* next;
HashtableNode()
{
}
HashtableNode(const K& k, const T& val, HashtableNode<K, T, H>* n = 0)
: key(k), value(val), next(n)
{
fullHash = H::hash(k);
}
};
template<class K>
class HashEnumerator
{
K* keys_;
CORBA::ULong length_;
CORBA::ULong *ref_;
void dec()
{
if(ref_ != 0)
{
(*ref_)--;
if(*ref_ == 0)
{
delete []keys_;
delete ref_;
}
}
}
public:
HashEnumerator() : keys_(0), length_(0), ref_(0)
{
}
HashEnumerator(K* keys, CORBA::ULong len)
: keys_(keys), length_(len)
{
ref_ = new CORBA::ULong(0);
*ref_ = 1;
}
HashEnumerator(const HashEnumerator<K>& e)
{
keys_ = e.keys_;
length_ = e.length_;
ref_ = e.ref_;
(*ref_)++;
}
~HashEnumerator()
{
dec();
}
HashEnumerator<K>& operator=(const HashEnumerator<K>& e)
{
if(keys_ != e.keys_)
{
dec();
keys_ = e.keys_;
length_ = e.length_;
ref_ = e.ref_;
(*ref_)++;
}
return *this;
}
CORBA::ULong length() const
{
return length_;
}
K operator[](CORBA::ULong i)
{
(static_cast<void> ((i < length_) ? 0 : (__assert_fail ("i < length_", "../../include/OB/Hashtable.h", 112, __PRETTY_FUNCTION__), 0)));
return keys_[i];
}
};
template<class K, class T, class H>
class Hashtable
{
Hashtable(const Hashtable&);
void operator=(const Hashtable&);
typedef HashtableNode<K, T, H> node;
# 142 "../../include/OB/Hashtable.h"
stl::allocator<node> allocator_;
node* stable_[15];
node** table_;
CORBA::ULong length_;
CORBA::Float load_;
CORBA::ULong count_;
CORBA::ULong threshold_;
void removeAll();
void resize();
public:
typedef HashEnumerator<K> Enumerator;
Hashtable(CORBA::ULong len = 15, CORBA::Float load = 0.75);
~Hashtable();
void clear();
bool containsKey(const K& key) const;
void put(const K& key, const T& value);
void remove(const K& key);
bool get(const K& key, T& value) const;
Enumerator keys() const;
CORBA::ULong size() const;
void displayStats(std::ostream&);
};
template<class K, class T, class H>
class SynchronizedHashtable : private Hashtable<K, T, H>,
public JTCRecursiveMutex
{
public:
typedef HashEnumerator<K> Enumerator;
SynchronizedHashtable(CORBA::ULong len = 15, CORBA::Float load = 0.75)
: Hashtable<K,T,H>(len, load)
{
}
~SynchronizedHashtable() { }
void clear()
{
JTCSynchronized sync(*this);
Hashtable<K,T,H>::clear();
}
bool containsKey(const K& key) const
{
JTCSynchronized sync(*this);
return Hashtable<K,T,H>::containsKey(key);
}
void put(const K& key, const T& value)
{
JTCSynchronized sync(*this);
Hashtable<K,T,H>::put(key, value);
}
void remove(const K& key)
{
JTCSynchronized sync(*this);
Hashtable<K,T,H>::remove(key);
}
bool get(const K& key, T& value) const
{
JTCSynchronized sync(*this);
return Hashtable<K,T,H>::get(key, value);
}
Enumerator keys() const
{
JTCSynchronized sync(*this);
return Hashtable<K,T,H>::keys();
}
CORBA::ULong size() const
{
JTCSynchronized sync(*this);
return Hashtable<K,T,H>::size();
}
void displayStats(std::ostream& s)
{
JTCSynchronized sync(*this);
Hashtable<K,T,H>::displayStats(s);
}
};
struct LongHasher
{
static CORBA::ULong hash(CORBA::Long k) { return (CORBA::ULong)k; }
static bool comp(CORBA::Long k1, CORBA::Long k2) { return k1 == k2; }
};
struct ULongHasher
{
static CORBA::ULong hash(CORBA::ULong k) { return k; }
static bool comp(CORBA::ULong k1, CORBA::ULong k2) { return k1 == k2; }
};
struct StringHasher
{
static CORBA::ULong hash(const char*);
static bool comp(const char*, const char*);
};
template<class T> class StrSeq;
struct StringSeqHasher
{
static CORBA::ULong hash(const StrSeq< int >&);
static bool comp(const StrSeq< int >&, const StrSeq< int >&);
};
}
# 1 "../../include/OB/HashtableI.h" 1
# 14 "../../include/OB/HashtableI.h"
# 1 "../../include/OB/Hashtable.h" 1
# 15 "../../include/OB/HashtableI.h" 2
namespace OB
{
template<class K, class T, class H>
Hashtable<K, T, H>::Hashtable(CORBA::ULong len, CORBA::Float load)
: length_(len), load_(load), count_(0)
{
threshold_ = (CORBA::ULong)(length_ * load_);
if(len <= 15)
{
table_ = stable_;
memset(table_, 0, sizeof(node*) * length_);
}
else
{
table_ = new node*[length_];
for(CORBA::ULong i = 0 ; i < length_ ; i++)
table_[i] = 0;
}
}
template<class K, class T, class H>
Hashtable<K, T, H>::~Hashtable()
{
if(count_ > 0)
{
for(CORBA::ULong i = 0 ; i < length_ ; i++)
{
node* n = table_[i];
table_[i] = 0;
while(n)
{
node *n1 = n;
n = n -> next;
allocator_.destroy(n1);
}
}
}
if(table_ != stable_)
delete []table_;
}
template<class K, class T, class H>
void
Hashtable<K, T, H>::clear()
{
removeAll();
}
template<class K, class T, class H>
bool
Hashtable<K, T, H>::containsKey(const K& key) const
{
CORBA::ULong fullHash = H::hash(key);
CORBA::ULong h = fullHash % length_;
node* n = table_[h];
while(n != 0)
{
if(n -> fullHash == fullHash && H::comp(n -> key, key))
return true;
n = n -> next;
}
return false;
}
template<class K, class T, class H>
void
Hashtable<K, T, H>::put(const K& key, const T& value)
{
CORBA::ULong fullHash = H::hash(key);
CORBA::ULong h = fullHash % length_;
node* n = table_[h];
while(n != 0)
{
if(n -> fullHash == fullHash && H::comp(n -> key, key))
{
n -> value = value;
return;
}
n = n -> next;
}
n = allocator_.allocate(1);
allocator_.construct(n, node(key, value, table_[h]));
table_[h] = n;
count_++;
if(count_ > threshold_)
resize();
}
template<class K, class T, class H>
void
Hashtable<K, T, H>::remove(const K& key)
{
CORBA::ULong fullHash = H::hash(key);
CORBA::ULong h = fullHash % length_;
node* prev = 0;
node* n = table_[h];
while(n != 0)
{
if(n -> fullHash == fullHash && H::comp(n -> key, key))
break;
prev = n;
n = n -> next;
}
if(n != 0)
{
if(prev != 0)
prev -> next = n -> next;
else
table_[h] = n -> next;
count_--;
allocator_.destroy(n);
allocator_.deallocate(n, 1);
}
}
template<class K, class T, class H>
bool
Hashtable<K, T, H>::get(const K& key, T& value) const
{
CORBA::ULong fullHash = H::hash(key);
CORBA::ULong h = fullHash % length_;
node* n = table_[h];
while(n != 0)
{
if(n -> fullHash == fullHash && H::comp(n -> key, key))
{
value = n -> value;
return true;
}
n = n -> next;
}
return false;
}
template<class K, class T, class H>
typename Hashtable<K, T, H>::Enumerator
Hashtable<K, T, H>::keys() const
{
CORBA::ULong index = 0;
K* keys = new K[count_];
for(CORBA::ULong i = 0 ; i < length_ ; i++)
{
for(node* n = table_[i] ; n != 0 ; n = n -> next)
keys[index++] = n -> key;
}
Enumerator e(keys, count_);
return e;
}
template<class K, class T, class H>
CORBA::ULong
Hashtable<K, T, H>::size() const
{
return count_;
}
template<class K, class T, class H>
void
Hashtable<K, T, H>::displayStats(std::ostream& os)
{
CORBA::ULong most = 0;
CORBA::ULong occupied = 0;
for(CORBA::ULong i = 0 ; i < length_ ; i++)
{
CORBA::ULong bucketLen = 0;
for(node* n = table_[i] ; n != 0 ; n = n -> next, bucketLen++)
;
if(bucketLen > most)
most = bucketLen;
if(bucketLen > 0)
occupied++;
}
os << "Hash table: " << length_ << " buckets.\n";
os << "Keys : " << count_ << "\n";
os << "Average : " << (double)count_/(double)occupied << "\n";
os << "Largest : " << most << "\n";
os << std::flush;
}
template<class K, class T, class H>
void
Hashtable<K, T, H>::removeAll()
{
if(count_ > 0)
{
for(CORBA::ULong i = 0 ; i < length_ ; i++)
{
node* n = table_[i];
table_[i] = 0;
while(n)
{
node *n1 = n;
n = n -> next;
allocator_.destroy(n1);
allocator_.deallocate(n1, 1);
}
}
count_ = 0;
}
}
template<class K, class T, class H>
void
Hashtable<K, T, H>::resize()
{
CORBA::ULong i;
CORBA::ULong size = length_ * 2 + 1;
node** table = new node*[size];
for(i = 0 ; i < size ; i++)
table[i] = 0;
for(i = 0 ; i < length_ ; i++)
{
node* n = table_[i];
while(n != 0)
{
node* next = n -> next;
CORBA::ULong h = n -> fullHash % size;
n -> next = table[h];
table[h] = n;
n = next;
}
}
length_ = size;
threshold_ = (CORBA::ULong)(length_ * load_);
if(table_ != stable_)
delete []table_;
table_ = table;
}
}
# 322 "../../include/OB/Hashtable.h" 2
# 18 "../../include/OB/Context.h" 2
namespace OBCORBA
{
class ORB_impl;
}
namespace CORBA
{
class Context : public OB::RefCount
{
String_var name_;
Context_var parent_;
typedef OB::Hashtable<String_var, String_var, OB::StringHasher> ValueHash;
ValueHash values_;
Context(const Context&);
void operator=(const Context&);
protected:
Context(const char*);
Context(const char*, Context_ptr);
friend class ::OBCORBA::ORB_impl;
public:
static inline Context_ptr _duplicate(Context_ptr p)
{ if(p) p -> _OB_incRef(); return p; }
static inline Context_ptr _nil()
{ return 0; }
const char* context_name() const { return name_; }
Context_ptr parent() const { return parent_; }
void create_child(const char*, Context_out);
void set_one_value(const char*, const Any&);
void set_values(NVList_ptr);
void delete_values(const char*);
void get_values(const char*, Flags, const char*, NVList_out);
void _OB_getValues(const char*, Flags, const char*, OB::StrSeq< int >&);
static Context* _OB_create(const OB::StrSeq< int >&);
};
inline void
release(Context_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(Context_ptr p)
{
return p == 0;
}
}
# 17 "../../include/OB/CORBAClient.h" 2
# 1 "../../include/OB/Principal.h" 1
# 14 "../../include/OB/Principal.h"
# 1 "../../include/OB/Principal_fwd.h" 1
# 15 "../../include/OB/Principal.h" 2
namespace CORBA
{
class Principal : public OB::RefCount
{
Principal(const Principal&);
void operator=(const Principal&);
protected:
Principal() { };
public:
static inline Principal_ptr _duplicate(Principal_ptr p)
{ if(p) p -> _OB_incRef(); return p; }
static inline Principal_ptr _nil()
{ return 0; }
};
inline void
release(Principal_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(Principal_ptr p)
{
return p == 0;
}
}
# 18 "../../include/OB/CORBAClient.h" 2
# 1 "../../include/OB/MarshalStubImpl.h" 1
# 14 "../../include/OB/MarshalStubImpl.h"
# 1 "../../include/OB/MarshalStubImpl_fwd.h" 1
# 14 "../../include/OB/MarshalStubImpl_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 15 "../../include/OB/MarshalStubImpl_fwd.h" 2
namespace OB
{
class MarshalStubImpl;
typedef MarshalStubImpl* MarshalStubImpl_ptr;
}
void OBDuplicate(OB::MarshalStubImpl_ptr);
void OBRelease(OB::MarshalStubImpl_ptr);
namespace OB
{
typedef ObjVar< MarshalStubImpl > MarshalStubImpl_var;
}
# 15 "../../include/OB/MarshalStubImpl.h" 2
# 1 "../../include/OB/Client_fwd.h" 1
# 14 "../../include/OB/Client_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 15 "../../include/OB/Client_fwd.h" 2
namespace OB
{
class Client;
typedef Client* Client_ptr;
struct ClientProfilePair;
typedef VarVar< ClientProfilePair > ClientProfilePair_var;
class ClientManager;
typedef ClientManager* ClientManager_ptr;
}
void OBDuplicate(OB::Client_ptr);
void OBRelease(OB::Client_ptr);
void OBDuplicate(OB::ClientManager_ptr);
void OBRelease(OB::ClientManager_ptr);
namespace OB
{
typedef ObjVar< Client > Client_var;
typedef ObjVar< ClientManager > ClientManager_var;
}
# 16 "../../include/OB/MarshalStubImpl.h" 2
# 1 "../../include/OB/Downcall_fwd.h" 1
# 14 "../../include/OB/Downcall_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 15 "../../include/OB/Downcall_fwd.h" 2
namespace OB
{
class Downcall;
typedef Downcall* Downcall_ptr;
class PIDowncall;
typedef PIDowncall* PIDowncall_ptr;
class PIArgsDowncall;
typedef PIArgsDowncall* PIArgsDowncall_ptr;
class PIDIIDowncall;
typedef PIDIIDowncall* PIDIIDowncall_ptr;
class DowncallEmitter;
typedef DowncallEmitter* DowncallEmitter_ptr;
}
void OBDuplicate(OB::Downcall_ptr);
void OBRelease(OB::Downcall_ptr);
# 50 "../../include/OB/Downcall_fwd.h"
void OBDuplicate(OB::DowncallEmitter_ptr);
void OBRelease(OB::DowncallEmitter_ptr);
namespace OB
{
typedef ObjVar< Downcall > Downcall_var;
# 66 "../../include/OB/Downcall_fwd.h"
typedef ObjVar< DowncallEmitter > DowncallEmitter_var;
}
# 17 "../../include/OB/MarshalStubImpl.h" 2
# 1 "../../include/OB/DII_fwd.h" 1
# 14 "../../include/OB/DII_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 15 "../../include/OB/DII_fwd.h" 2
namespace CORBA
{
class ExceptionList;
typedef ExceptionList* ExceptionList_ptr;
typedef ExceptionList_ptr ExceptionListRef;
class ContextList;
typedef ContextList* ContextList_ptr;
typedef ContextList_ptr ContextListRef;
class Request;
typedef Request* Request_ptr;
typedef Request_ptr RequestRef;
}
void OBDuplicate(CORBA::ExceptionList_ptr);
void OBRelease(CORBA::ExceptionList_ptr);
void OBDuplicate(CORBA::ContextList_ptr);
void OBRelease(CORBA::ContextList_ptr);
void OBDuplicate(CORBA::Request_ptr);
void OBRelease(CORBA::Request_ptr);
namespace CORBA
{
typedef OB::ObjVar< ExceptionList > ExceptionList_var;
typedef OB::ObjOut< ExceptionList > ExceptionList_out;
typedef OB::ObjVar< ContextList > ContextList_var;
typedef OB::ObjOut< ContextList > ContextList_out;
typedef OB::ObjVar< Request > Request_var;
typedef OB::ObjOut< Request > Request_out;
}
# 19 "../../include/OB/MarshalStubImpl.h" 2
# 1 "../../include/OB/NamedValue_fwd.h" 1
# 20 "../../include/OB/MarshalStubImpl.h" 2
# 1 "../../include/OB/StubImpl.h" 1
# 14 "../../include/OB/StubImpl.h"
# 1 "../../include/OB/TypeCodeConst.h" 1
# 15 "../../include/OB/StubImpl.h" 2
# 1 "../../include/OB/Object_fwd.h" 1
# 16 "../../include/OB/StubImpl.h" 2
# 1 "../../include/OB/StubImpl_fwd.h" 1
# 14 "../../include/OB/StubImpl_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 15 "../../include/OB/StubImpl_fwd.h" 2
namespace OB
{
class StubImplBase;
typedef StubImplBase* StubImplBase_ptr;
}
void OBDuplicate(OB::StubImplBase_ptr);
void OBRelease(OB::StubImplBase_ptr);
namespace OB
{
typedef ObjVar< StubImplBase > StubImplBase_var;
}
# 17 "../../include/OB/StubImpl.h" 2
# 1 "../../include/OB/RefCounted_fwd.h" 1
# 18 "../../include/OB/StubImpl.h" 2
# 1 "../../include/OB/IFR2_fwd.h" 1
# 18 "../../include/OB/IFR2_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 19 "../../include/OB/IFR2_fwd.h" 2
# 39 "../../include/OB/IFR2_fwd.h"
namespace CORBA
{
class Repository;
typedef Repository* Repository_ptr;
typedef Repository* RepositoryRef;
extern OB::TypeCodeConst _tc_Repository;
class Contained;
typedef Contained* Contained_ptr;
typedef Contained* ContainedRef;
extern OB::TypeCodeConst _tc_Contained;
class ModuleDef;
typedef ModuleDef* ModuleDef_ptr;
typedef ModuleDef* ModuleDefRef;
extern OB::TypeCodeConst _tc_ModuleDef;
class ConstantDef;
typedef ConstantDef* ConstantDef_ptr;
typedef ConstantDef* ConstantDefRef;
extern OB::TypeCodeConst _tc_ConstantDef;
class StructDef;
typedef StructDef* StructDef_ptr;
typedef StructDef* StructDefRef;
extern OB::TypeCodeConst _tc_StructDef;
class UnionDef;
typedef UnionDef* UnionDef_ptr;
typedef UnionDef* UnionDefRef;
extern OB::TypeCodeConst _tc_UnionDef;
class EnumDef;
typedef EnumDef* EnumDef_ptr;
typedef EnumDef* EnumDefRef;
extern OB::TypeCodeConst _tc_EnumDef;
class AliasDef;
typedef AliasDef* AliasDef_ptr;
typedef AliasDef* AliasDefRef;
extern OB::TypeCodeConst _tc_AliasDef;
class AbstractInterfaceDef;
typedef AbstractInterfaceDef* AbstractInterfaceDef_ptr;
typedef AbstractInterfaceDef* AbstractInterfaceDefRef;
extern OB::TypeCodeConst _tc_AbstractInterfaceDef;
class LocalInterfaceDef;
typedef LocalInterfaceDef* LocalInterfaceDef_ptr;
typedef LocalInterfaceDef* LocalInterfaceDefRef;
extern OB::TypeCodeConst _tc_LocalInterfaceDef;
class NativeDef;
typedef NativeDef* NativeDef_ptr;
typedef NativeDef* NativeDefRef;
extern OB::TypeCodeConst _tc_NativeDef;
class ValueDef;
typedef ValueDef* ValueDef_ptr;
typedef ValueDef* ValueDefRef;
extern OB::TypeCodeConst _tc_ValueDef;
class ValueBoxDef;
typedef ValueBoxDef* ValueBoxDef_ptr;
typedef ValueBoxDef* ValueBoxDefRef;
extern OB::TypeCodeConst _tc_ValueBoxDef;
class Container;
typedef Container* Container_ptr;
typedef Container* ContainerRef;
extern OB::TypeCodeConst _tc_Container;
class AttributeDef;
typedef AttributeDef* AttributeDef_ptr;
typedef AttributeDef* AttributeDefRef;
extern OB::TypeCodeConst _tc_AttributeDef;
class ExceptionDef;
typedef ExceptionDef* ExceptionDef_ptr;
typedef ExceptionDef* ExceptionDefRef;
extern OB::TypeCodeConst _tc_ExceptionDef;
class OperationDef;
typedef OperationDef* OperationDef_ptr;
typedef OperationDef* OperationDefRef;
extern OB::TypeCodeConst _tc_OperationDef;
class InterfaceDef;
typedef InterfaceDef* InterfaceDef_ptr;
typedef InterfaceDef* InterfaceDefRef;
extern OB::TypeCodeConst _tc_InterfaceDef;
}
void OBDuplicate(CORBA::Repository_ptr);
void OBRelease(CORBA::Repository_ptr);
void OBMarshal(CORBA::Repository_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::Repository_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::Contained_ptr);
void OBRelease(CORBA::Contained_ptr);
void OBMarshal(CORBA::Contained_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::Contained_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::ModuleDef_ptr);
void OBRelease(CORBA::ModuleDef_ptr);
void OBMarshal(CORBA::ModuleDef_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::ModuleDef_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::ConstantDef_ptr);
void OBRelease(CORBA::ConstantDef_ptr);
void OBMarshal(CORBA::ConstantDef_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::ConstantDef_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::StructDef_ptr);
void OBRelease(CORBA::StructDef_ptr);
void OBMarshal(CORBA::StructDef_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::StructDef_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::UnionDef_ptr);
void OBRelease(CORBA::UnionDef_ptr);
void OBMarshal(CORBA::UnionDef_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::UnionDef_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::EnumDef_ptr);
void OBRelease(CORBA::EnumDef_ptr);
void OBMarshal(CORBA::EnumDef_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::EnumDef_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::AliasDef_ptr);
void OBRelease(CORBA::AliasDef_ptr);
void OBMarshal(CORBA::AliasDef_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::AliasDef_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::AbstractInterfaceDef_ptr);
void OBRelease(CORBA::AbstractInterfaceDef_ptr);
void OBMarshal(CORBA::AbstractInterfaceDef_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::AbstractInterfaceDef_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::LocalInterfaceDef_ptr);
void OBRelease(CORBA::LocalInterfaceDef_ptr);
void OBMarshal(CORBA::LocalInterfaceDef_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::LocalInterfaceDef_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::NativeDef_ptr);
void OBRelease(CORBA::NativeDef_ptr);
void OBMarshal(CORBA::NativeDef_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::NativeDef_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::ValueDef_ptr);
void OBRelease(CORBA::ValueDef_ptr);
void OBMarshal(CORBA::ValueDef_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::ValueDef_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::ValueBoxDef_ptr);
void OBRelease(CORBA::ValueBoxDef_ptr);
void OBMarshal(CORBA::ValueBoxDef_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::ValueBoxDef_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::Container_ptr);
void OBRelease(CORBA::Container_ptr);
void OBMarshal(CORBA::Container_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::Container_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::AttributeDef_ptr);
void OBRelease(CORBA::AttributeDef_ptr);
void OBMarshal(CORBA::AttributeDef_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::AttributeDef_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::ExceptionDef_ptr);
void OBRelease(CORBA::ExceptionDef_ptr);
void OBMarshal(CORBA::ExceptionDef_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::ExceptionDef_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::OperationDef_ptr);
void OBRelease(CORBA::OperationDef_ptr);
void OBMarshal(CORBA::OperationDef_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::OperationDef_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::InterfaceDef_ptr);
void OBRelease(CORBA::InterfaceDef_ptr);
void OBMarshal(CORBA::InterfaceDef_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::InterfaceDef_ptr&, OB::InputStreamImpl*);
namespace CORBA
{
typedef OB::ObjVar< Repository > Repository_var;
typedef OB::ObjOut< Repository > Repository_out;
typedef OB::ObjVar< Contained > Contained_var;
typedef OB::ObjOut< Contained > Contained_out;
typedef OB::ObjVar< ModuleDef > ModuleDef_var;
typedef OB::ObjOut< ModuleDef > ModuleDef_out;
typedef OB::ObjVar< ConstantDef > ConstantDef_var;
typedef OB::ObjOut< ConstantDef > ConstantDef_out;
typedef OB::ObjVar< StructDef > StructDef_var;
typedef OB::ObjOut< StructDef > StructDef_out;
typedef OB::ObjVar< UnionDef > UnionDef_var;
typedef OB::ObjOut< UnionDef > UnionDef_out;
typedef OB::ObjVar< EnumDef > EnumDef_var;
typedef OB::ObjOut< EnumDef > EnumDef_out;
typedef OB::ObjVar< AliasDef > AliasDef_var;
typedef OB::ObjOut< AliasDef > AliasDef_out;
typedef OB::ObjVar< AbstractInterfaceDef > AbstractInterfaceDef_var;
typedef OB::ObjOut< AbstractInterfaceDef > AbstractInterfaceDef_out;
typedef OB::ObjVar< LocalInterfaceDef > LocalInterfaceDef_var;
typedef OB::ObjOut< LocalInterfaceDef > LocalInterfaceDef_out;
typedef OB::ObjVar< NativeDef > NativeDef_var;
typedef OB::ObjOut< NativeDef > NativeDef_out;
typedef OB::ObjVar< ValueDef > ValueDef_var;
typedef OB::ObjOut< ValueDef > ValueDef_out;
typedef OB::ObjVar< ValueBoxDef > ValueBoxDef_var;
typedef OB::ObjOut< ValueBoxDef > ValueBoxDef_out;
typedef OB::ObjVar< Container > Container_var;
typedef OB::ObjOut< Container > Container_out;
typedef OB::ObjVar< AttributeDef > AttributeDef_var;
typedef OB::ObjOut< AttributeDef > AttributeDef_out;
typedef OB::ObjVar< ExceptionDef > ExceptionDef_var;
typedef OB::ObjOut< ExceptionDef > ExceptionDef_out;
typedef OB::ObjVar< OperationDef > OperationDef_var;
typedef OB::ObjOut< OperationDef > OperationDef_out;
typedef OB::ObjVar< InterfaceDef > InterfaceDef_var;
typedef OB::ObjOut< InterfaceDef > InterfaceDef_out;
}
# 19 "../../include/OB/StubImpl.h" 2
# 1 "../../include/OB/OCIClient_fwd.h" 1
# 18 "../../include/OB/OCIClient_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 19 "../../include/OB/OCIClient_fwd.h" 2
# 39 "../../include/OB/OCIClient_fwd.h"
namespace OCI
{
class AcceptorInfo;
typedef AcceptorInfo* AcceptorInfo_ptr;
typedef AcceptorInfo* AcceptorInfoRef;
class Plugin;
typedef Plugin* Plugin_ptr;
typedef Plugin* PluginRef;
class Transport;
typedef Transport* Transport_ptr;
typedef Transport* TransportRef;
class TransportInfo;
typedef TransportInfo* TransportInfo_ptr;
typedef TransportInfo* TransportInfoRef;
class CloseCB;
typedef CloseCB* CloseCB_ptr;
typedef CloseCB* CloseCBRef;
class Connector;
typedef Connector* Connector_ptr;
typedef Connector* ConnectorRef;
class ConnectorInfo;
typedef ConnectorInfo* ConnectorInfo_ptr;
typedef ConnectorInfo* ConnectorInfoRef;
class ConnectCB;
typedef ConnectCB* ConnectCB_ptr;
typedef ConnectCB* ConnectCBRef;
class ConFactory;
typedef ConFactory* ConFactory_ptr;
typedef ConFactory* ConFactoryRef;
class ConFactoryInfo;
typedef ConFactoryInfo* ConFactoryInfo_ptr;
typedef ConFactoryInfo* ConFactoryInfoRef;
class ConFactoryRegistry;
typedef ConFactoryRegistry* ConFactoryRegistry_ptr;
typedef ConFactoryRegistry* ConFactoryRegistryRef;
}
void OBDuplicate(OCI::AcceptorInfo_ptr);
void OBRelease(OCI::AcceptorInfo_ptr);
void OBMarshal(OCI::AcceptorInfo_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OCI::AcceptorInfo_ptr&, OB::InputStreamImpl*);
void OBDuplicate(OCI::Plugin_ptr);
void OBRelease(OCI::Plugin_ptr);
void OBMarshal(OCI::Plugin_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OCI::Plugin_ptr&, OB::InputStreamImpl*);
void OBDuplicate(OCI::Transport_ptr);
void OBRelease(OCI::Transport_ptr);
void OBMarshal(OCI::Transport_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OCI::Transport_ptr&, OB::InputStreamImpl*);
void OBDuplicate(OCI::TransportInfo_ptr);
void OBRelease(OCI::TransportInfo_ptr);
void OBMarshal(OCI::TransportInfo_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OCI::TransportInfo_ptr&, OB::InputStreamImpl*);
void OBDuplicate(OCI::CloseCB_ptr);
void OBRelease(OCI::CloseCB_ptr);
void OBMarshal(OCI::CloseCB_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OCI::CloseCB_ptr&, OB::InputStreamImpl*);
void OBDuplicate(OCI::Connector_ptr);
void OBRelease(OCI::Connector_ptr);
void OBMarshal(OCI::Connector_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OCI::Connector_ptr&, OB::InputStreamImpl*);
void OBDuplicate(OCI::ConnectorInfo_ptr);
void OBRelease(OCI::ConnectorInfo_ptr);
void OBMarshal(OCI::ConnectorInfo_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OCI::ConnectorInfo_ptr&, OB::InputStreamImpl*);
void OBDuplicate(OCI::ConnectCB_ptr);
void OBRelease(OCI::ConnectCB_ptr);
void OBMarshal(OCI::ConnectCB_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OCI::ConnectCB_ptr&, OB::InputStreamImpl*);
void OBDuplicate(OCI::ConFactory_ptr);
void OBRelease(OCI::ConFactory_ptr);
void OBMarshal(OCI::ConFactory_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OCI::ConFactory_ptr&, OB::InputStreamImpl*);
void OBDuplicate(OCI::ConFactoryInfo_ptr);
void OBRelease(OCI::ConFactoryInfo_ptr);
void OBMarshal(OCI::ConFactoryInfo_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OCI::ConFactoryInfo_ptr&, OB::InputStreamImpl*);
void OBDuplicate(OCI::ConFactoryRegistry_ptr);
void OBRelease(OCI::ConFactoryRegistry_ptr);
void OBMarshal(OCI::ConFactoryRegistry_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OCI::ConFactoryRegistry_ptr&, OB::InputStreamImpl*);
namespace OCI
{
typedef OB::ObjVar< AcceptorInfo > AcceptorInfo_var;
typedef OB::ObjOut< AcceptorInfo > AcceptorInfo_out;
typedef OB::ObjVar< Plugin > Plugin_var;
typedef OB::ObjOut< Plugin > Plugin_out;
typedef OB::ObjVar< Transport > Transport_var;
typedef OB::ObjOut< Transport > Transport_out;
typedef OB::ObjVar< TransportInfo > TransportInfo_var;
typedef OB::ObjOut< TransportInfo > TransportInfo_out;
typedef OB::ObjVar< CloseCB > CloseCB_var;
typedef OB::ObjOut< CloseCB > CloseCB_out;
typedef OB::ObjVar< Connector > Connector_var;
typedef OB::ObjOut< Connector > Connector_out;
typedef OB::ObjVar< ConnectorInfo > ConnectorInfo_var;
typedef OB::ObjOut< ConnectorInfo > ConnectorInfo_out;
typedef OB::ObjVar< ConnectCB > ConnectCB_var;
typedef OB::ObjOut< ConnectCB > ConnectCB_out;
typedef OB::ObjVar< ConFactory > ConFactory_var;
typedef OB::ObjOut< ConFactory > ConFactory_out;
typedef OB::ObjVar< ConFactoryInfo > ConFactoryInfo_var;
typedef OB::ObjOut< ConFactoryInfo > ConFactoryInfo_out;
typedef OB::ObjVar< ConFactoryRegistry > ConFactoryRegistry_var;
typedef OB::ObjOut< ConFactoryRegistry > ConFactoryRegistry_out;
}
# 20 "../../include/OB/StubImpl.h" 2
# 1 "../../include/OB/Except.h" 1
# 22 "../../include/OB/StubImpl.h" 2
namespace OB
{
class StubImplBase : public RefCount
{
StubImplBase(const StubImplBase&);
void operator=(const StubImplBase&);
public:
StubImplBase() { }
virtual ~StubImplBase() { }
static inline StubImplBase_ptr _duplicate(StubImplBase_ptr p)
{ if(p) p -> _OB_incRef(); return p; }
static inline StubImplBase_ptr _nil()
{ return 0; }
virtual CORBA::InterfaceDef_ptr _get_interface() = 0;
virtual CORBA::Boolean _is_a(const char*) = 0;
virtual CORBA::Boolean _non_existent() = 0;
virtual CORBA::Boolean _locate_request() = 0;
virtual OCI::ConnectorInfo_ptr _get_oci_connector_info() = 0;
virtual OCI::TransportInfo_ptr _get_oci_transport_info() = 0;
};
}
namespace CORBA
{
inline void
release(OB::StubImplBase_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(OB::StubImplBase_ptr p)
{
return p == 0;
}
}
# 21 "../../include/OB/MarshalStubImpl.h" 2
# 1 "../../include/OB/list.h" 1
# 22 "../../include/OB/list.h"
# 1 "../../include/OB/STLConfig.h" 1
# 23 "../../include/OB/list.h" 2
# 1 "../../include/OB/allocator.h" 1
# 25 "../../include/OB/list.h" 2
# 1 "../../include/OB/algorithms.h" 1
# 14 "../../include/OB/algorithms.h"
# 1 "../../include/OB/STLConfig.h" 1
# 15 "../../include/OB/algorithms.h" 2
namespace OB
{
namespace stl
{
template<class InputIterator, class OutputIterator>
OutputIterator copy(InputIterator first1, InputIterator last1,
OutputIterator first2)
{
while (first1 != last1)
{
*first2 = *first1;
first1++;
first2++;
}
return first2;
}
template<class InputIterator>
InputIterator find(InputIterator first, InputIterator last,
typename InputIterator::value_type value)
{
while (first != last)
{
if (*first == value)
return first;
first++;
}
return first;
}
template<class InputIterator, class Predicate>
InputIterator find_if(InputIterator first, InputIterator last, Predicate pred)
{
while (first != last)
{
if (pred(*first))
return first;
first++;
}
return first;
}
template<class InputIterator, class T>
T accumulate(InputIterator first, InputIterator last, T initial_value)
{
T result = initial_value;
while (first != last)
{
result = result + *first;
first++;
}
return result;
}
template<class InputIterator, class T, class BinaryOperation>
T accumulate(InputIterator first, InputIterator last,
T initial_value, BinaryOperation binary_op)
{
T result = initial_value;
while (first != last)
{
result = binary_op(result, *first);
first++;
}
return result;
}
template<class ForwardIterator, class Predicate>
ForwardIterator remove_if(ForwardIterator first, ForwardIterator last,
Predicate pred)
{
while (first != last)
{
if (!pred(*first))
{
typename ForwardIterator::value_type value = *first;
last--;
*first = *last;
*last = value;
continue;
}
first++;
}
return first;
}
template<class InputIterator, class UnaryFunction>
void for_each(InputIterator first, InputIterator last,
UnaryFunction f)
{
while (first != last)
{
f(*first);
first++;
}
}
}
}
# 26 "../../include/OB/list.h" 2
# 1 "../../include/OB/iterator.h" 1
# 14 "../../include/OB/iterator.h"
# 1 "../../include/OB/STLConfig.h" 1
# 15 "../../include/OB/iterator.h" 2
namespace OB
{
namespace stl
{
# 32 "../../include/OB/iterator.h"
template<class ContainerT>
class back_insert_iterator
{
private:
ContainerT &container_;
public:
explicit back_insert_iterator(ContainerT &container)
: container_(container)
{
}
back_insert_iterator& operator=(
const typename ContainerT::value_type& value)
{
container_.push_back(value);
return *this;
}
back_insert_iterator& operator*()
{
return *this;
}
back_insert_iterator& operator++()
{
return *this;
}
back_insert_iterator& operator++(int)
{
return *this;
}
};
template<class ContainerT>
back_insert_iterator<ContainerT> back_inserter(ContainerT& container)
{
return back_insert_iterator<ContainerT>(container);
}
}
}
# 27 "../../include/OB/list.h" 2
# 1 "/usr/include/assert.h" 1 3
# 36 "/usr/include/assert.h" 3
# 1 "/usr/include/features.h" 1 3
# 37 "/usr/include/assert.h" 2 3
# 65 "/usr/include/assert.h" 3
extern "C" {
extern void __assert_fail (__const char *__assertion, __const char *__file,
unsigned int __line, __const char *__function)
throw () __attribute__ ((__noreturn__));
extern void __assert_perror_fail (int __errnum, __const char *__file,
unsigned int __line,
__const char *__function)
throw () __attribute__ ((__noreturn__));
extern void __assert (const char *__assertion, const char *__file, int __line)
throw () __attribute__ ((__noreturn__));
}
# 28 "../../include/OB/list.h" 2
namespace OB
{
namespace stl
{
template<class T> class list;
# 49 "../../include/OB/list.h"
template<class T, class Ref, class NodePtr, class ListPtr>
class iterator_template
{
ListPtr list_;
NodePtr current_node_;
friend class list<T>;
iterator_template(ListPtr list, NodePtr position) :
list_(list), current_node_(position)
{
}
public:
typedef T value_type;
iterator_template() : list_(0), current_node_(0)
{
}
iterator_template(const iterator_template& other_iterator) :
list_(other_iterator.list_),
current_node_(other_iterator.current_node_)
{
}
~iterator_template()
{
}
bool operator==(const iterator_template& other_iterator) const
{
return other_iterator.current_node_ == current_node_;
}
bool operator!=(const iterator_template& other_iterator) const
{
return !(*this == other_iterator);
}
const iterator_template& operator=(const iterator_template& other_iterator)
{
list_ = other_iterator.list_;
current_node_ = other_iterator.current_node_;
return *this;
}
Ref operator*() const
{
(static_cast<void> ((current_node_ != 0) ? 0 : (__assert_fail ("current_node_ != 0", "../../include/OB/list.h", 132, __PRETTY_FUNCTION__), 0)));
(static_cast<void> ((current_node_ != list_ -> head_) ? 0 : (__assert_fail ("current_node_ != list_ -> head_", "../../include/OB/list.h", 133, __PRETTY_FUNCTION__), 0)));
(static_cast<void> ((current_node_ != list_ -> tail_) ? 0 : (__assert_fail ("current_node_ != list_ -> tail_", "../../include/OB/list.h", 134, __PRETTY_FUNCTION__), 0)));
return current_node_->item();
}
iterator_template& operator++()
{
(static_cast<void> ((current_node_ != 0) ? 0 : (__assert_fail ("current_node_ != 0", "../../include/OB/list.h", 144, __PRETTY_FUNCTION__), 0)));
(static_cast<void> ((current_node_ != list_ -> tail_) ? 0 : (__assert_fail ("current_node_ != list_ -> tail_", "../../include/OB/list.h", 145, __PRETTY_FUNCTION__), 0)));
current_node_ = current_node_->next();
return *this;
}
iterator_template operator++(int)
{
iterator_template previous_state = *this;
++(*this);
return previous_state;
}
iterator_template& operator--()
{
(static_cast<void> ((current_node_ != 0) ? 0 : (__assert_fail ("current_node_ != 0", "../../include/OB/list.h", 167, __PRETTY_FUNCTION__), 0)));
(static_cast<void> ((current_node_ != list_ -> head_) ? 0 : (__assert_fail ("current_node_ != list_ -> head_", "../../include/OB/list.h", 168, __PRETTY_FUNCTION__), 0)));
current_node_ = current_node_->prev();
return *this;
}
iterator_template operator--(int)
{
iterator_template previous_state = *this;
--(*this);
return previous_state;
}
};
# 196 "../../include/OB/list.h"
template<class T, class Ref, class Iterator, class ListPtr>
class reverse_iterator_template
{
private:
friend class list<T>;
Iterator current_;
reverse_iterator_template(const Iterator& current)
: current_(current)
{
}
public:
typedef T value_type;
reverse_iterator_template()
{
}
reverse_iterator_template(
const reverse_iterator_template& other_iterator)
: current_(other_iterator.current_)
{
}
~reverse_iterator_template()
{
}
bool operator==(
const reverse_iterator_template& other_iterator) const
{
return other_iterator.current_ == current_;
}
bool operator!=(
const reverse_iterator_template& other_iterator) const
{
return !(*this == other_iterator);
}
const reverse_iterator_template& operator=(
const reverse_iterator_template& other_iterator)
{
current_ = other_iterator.current_;
return *this;
}
Ref operator*() const
{
return *current_;
}
reverse_iterator_template& operator++()
{
--current_;
return *this;
}
reverse_iterator_template operator++(int)
{
reverse_iterator_template previous_state = *this;
current_--;
return previous_state;
}
reverse_iterator_template& operator--()
{
++current_;
return *this;
}
reverse_iterator_template operator--(int)
{
reverse_iterator_template previous_state = *this;
current_++;
return previous_state;
}
};
# 360 "../../include/OB/list.h"
template <class T>
class list
{
private:
# 373 "../../include/OB/list.h"
class ListNode
{
T item_;
ListNode *next_;
ListNode *prev_;
public:
ListNode() : next_(0), prev_(0)
{
}
ListNode(const T& item, ListNode *next, ListNode *prev)
: item_(item), next_(next), prev_(prev)
{
}
~ListNode()
{
}
T& item()
{
return item_;
}
const T& item() const
{
return item_;
}
ListNode* next()
{
return next_;
}
const ListNode* next() const
{
return next_;
}
void next(ListNode* node)
{
next_ = node;
}
ListNode* prev()
{
return prev_;
}
const ListNode* prev() const
{
return prev_;
}
void prev(ListNode* node)
{
prev_ = node;
}
};
# 441 "../../include/OB/list.h"
allocator<ListNode> node_allocator;
public:
typedef unsigned long size_type;
typedef T& reference;
typedef const T& const_reference;
typedef T value_type;
typedef iterator_template<T, T&, ListNode*, list*>
iterator;
typedef iterator_template<T, const T&, const ListNode*, const list*>
const_iterator;
typedef reverse_iterator_template
<T, T&, iterator, list*>
reverse_iterator;
typedef reverse_iterator_template
<T, const T&, const_iterator, const list*>
const_reverse_iterator;
private:
friend class
iterator_template<T, T&, ListNode*, list*>;
friend class
reverse_iterator_template<T, T&, iterator, list*>;
friend class
iterator_template<T, const T&, const ListNode*, const list*>;
friend class
reverse_iterator_template<T, const T&, const_iterator, const list*>;
ListNode *head_;
ListNode *tail_;
size_type size_;
public:
list() :
head_(new ListNode(T(), 0, 0)),
tail_(new ListNode(T(), 0, 0)),
size_(0)
{
head_ -> next(tail_);
tail_ -> prev(head_);
}
~list()
{
erase(begin(), end());
delete head_;
delete tail_;
}
list(const list& other_list) :
head_(new ListNode(T(), 0, 0)),
tail_(new ListNode(T(), 0, 0)),
size_(0)
{
head_ -> next(tail_);
tail_ -> prev(head_);
OB::stl::copy(other_list.begin(), other_list.end(),
OB::stl::back_inserter(*this));
}
const list& operator=(const list& other_list)
{
erase(begin(), end());
OB::stl::copy(other_list.begin(), other_list.end(),
OB::stl::back_inserter(*this));
return *this;
}
iterator begin()
{
return iterator(this, head_ -> next());
}
const_iterator begin() const
{
return const_iterator(this, head_ -> next());
}
iterator end()
{
return iterator(this, tail_);
}
const_iterator end() const
{
return const_iterator(this, tail_);
}
reverse_iterator rbegin()
{
return reverse_iterator(--end());
}
const_reverse_iterator rbegin() const
{
return const_reverse_iterator(--end());
}
reverse_iterator rend()
{
return reverse_iterator(--begin());
}
const_reverse_iterator rend() const
{
return const_reverse_iterator(--begin());
}
size_type size() const
{
return size_;
}
bool empty() const
{
return size_ == 0;
}
reference front()
{
(static_cast<void> ((size_ != 0) ? 0 : (__assert_fail ("size_ != 0", "../../include/OB/list.h", 633, __PRETTY_FUNCTION__), 0)));
return *begin();
}
const_reference front() const
{
(static_cast<void> ((size_ != 0) ? 0 : (__assert_fail ("size_ != 0", "../../include/OB/list.h", 643, __PRETTY_FUNCTION__), 0)));
return *begin();
}
reference back()
{
(static_cast<void> ((size_ != 0) ? 0 : (__assert_fail ("size_ != 0", "../../include/OB/list.h", 653, __PRETTY_FUNCTION__), 0)));
return *(--end());
}
const_reference back() const
{
(static_cast<void> ((size_ != 0) ? 0 : (__assert_fail ("size_ != 0", "../../include/OB/list.h", 663, __PRETTY_FUNCTION__), 0)));
return *(--end());
}
void push_front(const T& x)
{
insert(begin(), x);
}
void push_back(const T& x)
{
insert(end(), x);
}
void splice(const iterator& position, list<T>& x)
{
splice(position, x, x.begin(), x.end());
}
void splice(const iterator& position, list<T>& x, iterator i)
{
insert(position, *i);
x.erase(i);
}
void splice(const iterator& position, list<T>& x,
iterator first, iterator last)
{
for (iterator x_iter = first; x_iter != last; x_iter++)
{
insert(position, *x_iter);
}
x.erase(first, last);
}
iterator insert(const iterator& position, const T& x)
{
(static_cast<void> ((position != --begin()) ? 0 : (__assert_fail ("position != --begin()", "../../include/OB/list.h", 725, __PRETTY_FUNCTION__), 0)));
ListNode* current_node = position.current_node_;
typename allocator<ListNode>::pointer new_node =
node_allocator.allocate(1);
node_allocator.construct(new_node,
ListNode(x,
current_node,
current_node->prev()));
current_node->prev()->next(new_node);
current_node->prev(new_node);
size_++;
return iterator(this, new_node);
}
void pop_front()
{
(static_cast<void> ((size_ != 0) ? 0 : (__assert_fail ("size_ != 0", "../../include/OB/list.h", 750, __PRETTY_FUNCTION__), 0)));
erase(begin());
}
void pop_back()
{
(static_cast<void> ((size_ != 0) ? 0 : (__assert_fail ("size_ != 0", "../../include/OB/list.h", 760, __PRETTY_FUNCTION__), 0)));
erase(--end());
}
void erase(const iterator &position)
{
(static_cast<void> ((size_ != 0) ? 0 : (__assert_fail ("size_ != 0", "../../include/OB/list.h", 769, __PRETTY_FUNCTION__), 0)));
(static_cast<void> ((position != end()) ? 0 : (__assert_fail ("position != end()", "../../include/OB/list.h", 770, __PRETTY_FUNCTION__), 0)));
(static_cast<void> ((position != --begin()) ? 0 : (__assert_fail ("position != --begin()", "../../include/OB/list.h", 771, __PRETTY_FUNCTION__), 0)));
ListNode* current_node = position.current_node_;
current_node->prev()->next(current_node->next());
current_node->next()->prev(current_node->prev());
size_--;
node_allocator.destroy(current_node);
node_allocator.deallocate(current_node, 1);
}
void erase(const iterator& first, const iterator& last)
{
iterator position = first;
while(position != last)
{
iterator victim = position;
position++;
erase(victim);
}
}
void clear()
{
erase(begin(), end());
}
};
}
}
# 22 "../../include/OB/MarshalStubImpl.h" 2
# 1 "../../include/OB/OBObject.h" 1
# 14 "../../include/OB/OBObject.h"
# 1 "../../include/OB/Object.h" 1
# 14 "../../include/OB/Object.h"
# 1 "../../include/OB/TypeCodeConst.h" 1
# 15 "../../include/OB/Object.h" 2
# 1 "../../include/OB/Object_fwd.h" 1
# 16 "../../include/OB/Object.h" 2
# 1 "../../include/OB/Policy_fwd.h" 1
# 18 "../../include/OB/Policy_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 19 "../../include/OB/Policy_fwd.h" 2
# 39 "../../include/OB/Policy_fwd.h"
namespace CORBA
{
class Policy;
typedef Policy* Policy_ptr;
typedef Policy* PolicyRef;
extern OB::TypeCodeConst _tc_Policy;
class PolicyManager;
typedef PolicyManager* PolicyManager_ptr;
typedef PolicyManager* PolicyManagerRef;
extern OB::TypeCodeConst _tc_PolicyManager;
}
void OBDuplicate(CORBA::Policy_ptr);
void OBRelease(CORBA::Policy_ptr);
void OBMarshal(CORBA::Policy_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::Policy_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::PolicyManager_ptr);
void OBRelease(CORBA::PolicyManager_ptr);
void OBMarshal(CORBA::PolicyManager_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::PolicyManager_ptr&, OB::InputStreamImpl*);
namespace CORBA
{
typedef OB::ObjVar< Policy > Policy_var;
typedef OB::ObjOut< Policy > Policy_out;
typedef OB::ObjVar< PolicyManager > PolicyManager_var;
typedef OB::ObjOut< PolicyManager > PolicyManager_out;
}
# 17 "../../include/OB/Object.h" 2
# 1 "../../include/OB/IFR2_fwd.h" 1
# 18 "../../include/OB/Object.h" 2
# 1 "../../include/OB/AbstractBase_fwd.h" 1
# 19 "../../include/OB/Object.h" 2
# 1 "../../include/OB/DII_fwd.h" 1
# 20 "../../include/OB/Object.h" 2
# 1 "../../include/OB/Context_fwd.h" 1
# 21 "../../include/OB/Object.h" 2
# 1 "../../include/OB/NamedValue_fwd.h" 1
# 22 "../../include/OB/Object.h" 2
# 1 "../../include/OB/OCIClient_fwd.h" 1
# 23 "../../include/OB/Object.h" 2
# 1 "../../include/OB/RefCounted_fwd.h" 1
# 24 "../../include/OB/Object.h" 2
namespace CORBA
{
class OBUnique_PolicyList;
typedef OB::ObjSeq< Policy, OBUnique_PolicyList > PolicyList;
typedef OB::SeqVar< OB::ObjSeq< Policy, OBUnique_PolicyList > > PolicyList_var;
typedef OB::SeqOut< OB::ObjSeq< Policy, OBUnique_PolicyList > > PolicyList_out;
typedef ULong PolicyType;
typedef ULong_out PolicyType_out;
class OBUnique_PolicyTypeSeq;
typedef OB::FixSeq< CORBA::ULong, OBUnique_PolicyTypeSeq > PolicyTypeSeq;
enum SetOverrideType
{
SET_OVERRIDE,
ADD_OVERRIDE
};
}
namespace CORBA
{
class Object : virtual public OB::RefCountable
{
Object(const Object&);
void operator=(const Object&);
protected:
static const char* ids_[];
Object();
public:
virtual ~Object();
static inline Object_ptr _duplicate(Object_ptr p)
{ if(p) p -> _add_ref(); return p; }
static inline Object_ptr _nil()
{ return 0; }
virtual InterfaceDef_ptr _get_interface() = 0;
virtual Boolean _is_a(const char*) = 0;
virtual Boolean _non_existent() = 0;
virtual Boolean _is_equivalent(Object_ptr) = 0;
virtual ULong _hash(ULong) = 0;
static Object_ptr _narrow(AbstractBase_ptr);
static Object_ptr _unchecked_narrow(AbstractBase_ptr);
virtual void _create_request(Context_ptr, const char*, NVList_ptr,
NamedValue_ptr, Request_out, Flags) = 0;
virtual void _create_request(Context_ptr, const char*, NVList_ptr,
NamedValue_ptr,
ExceptionList_ptr, ContextList_ptr,
Request_out, Flags) = 0;
virtual Request_ptr _request(const char* operation) = 0;
virtual Policy_ptr _get_policy(PolicyType) = 0;
virtual Object_ptr _set_policy_overrides(const PolicyList&,
SetOverrideType) = 0;
virtual PolicyList* _get_policy_overrides(const PolicyTypeSeq&) = 0;
virtual Policy_ptr _get_client_policy(PolicyType) = 0;
virtual Boolean _validate_connection(PolicyList_out) = 0;
virtual OCI::ConnectorInfo_ptr _get_oci_connector_info() = 0;
virtual OCI::TransportInfo_ptr _get_oci_transport_info() = 0;
virtual const char** _OB_ids() const = 0;
static const char** _OB_staticIds();
virtual CORBA::AbstractBase_ptr _OB_toAbstractBase() = 0;
# 155 "../../include/OB/Object.h"
virtual OB::RefCountIOR_ptr _OB_origIOR() const = 0;
virtual OB::RefCountIOR_ptr _OB_IOR() const = 0;
virtual void _OB_marshalOrigIOR(OB::OutputStreamImpl*) const = 0;
};
inline void
release(Object_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(Object_ptr p)
{
return p == 0;
}
}
# 15 "../../include/OB/OBObject.h" 2
# 1 "../../include/OB/OBObject_fwd.h" 1
# 14 "../../include/OB/OBObject_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 15 "../../include/OB/OBObject_fwd.h" 2
namespace OBCORBA
{
class Object;
typedef Object* Object_ptr;
typedef Object_ptr ObjectRef;
}
namespace OB
{
class ObjectFactory;
typedef ObjectFactory* ObjectFactory_ptr;
}
void OBDuplicate(OBCORBA::Object_ptr);
void OBRelease(OBCORBA::Object_ptr);
void OBDuplicate(OB::ObjectFactory_ptr);
void OBRelease(OB::ObjectFactory_ptr);
namespace OBCORBA
{
typedef OB::ObjVar< Object > Object_var;
typedef OB::ObjOut< Object > Object_out;
}
namespace OB
{
typedef OB::ObjVar< ObjectFactory > ObjectFactory_var;
typedef OB::ObjOut< ObjectFactory > ObjectFactory_out;
}
# 16 "../../include/OB/OBObject.h" 2
# 1 "../../include/OB/StubImpl_fwd.h" 1
# 17 "../../include/OB/OBObject.h" 2
# 1 "../../include/OB/MarshalStubImpl_fwd.h" 1
# 18 "../../include/OB/OBObject.h" 2
# 1 "../../include/OB/ORBInstance_fwd.h" 1
# 19 "../../include/OB/OBObject.h" 2
# 1 "../../include/OB/RefCounted_fwd.h" 1
# 20 "../../include/OB/OBObject.h" 2
# 1 "../../include/OB/Any.h" 1
# 22 "../../include/OB/OBObject.h" 2
# 1 "../../include/OB/TypeCodeConst.h" 1
# 23 "../../include/OB/OBObject.h" 2
namespace OBCORBA
{
class Object : virtual public CORBA::Object, virtual public OB::RefCount
{
Object(const Object&);
void operator=(const Object&);
JTCMutex mutex_;
OB::ORBInstance_var orbInstance_;
OB::RefCountIOR_var IOR_;
OB::RefCountIOR_var origIOR_;
OB::RefCountPolicyList_var policies_;
OB::StubImplBase_var stubImpl_;
void _OB_checkRetry(CORBA::ULong, const CORBA::SystemException&);
protected:
OB::StubImplBase_ptr _OB_getStubImpl();
OB::MarshalStubImpl_ptr _OB_getMarshalStubImpl();
virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();
Object();
friend class ::OB::ObjectFactory;
friend class ::CORBA::Request;
public:
virtual ~Object();
static inline Object_ptr _duplicate(Object_ptr p)
{ if(p) p -> _add_ref(); return p; }
static inline Object_ptr _nil()
{ return 0; }
static Object_ptr _narrow(CORBA::Object_ptr);
static Object_ptr _narrow(CORBA::AbstractBase_ptr);
virtual CORBA::InterfaceDef_ptr _get_interface();
virtual CORBA::Boolean _is_a(const char*);
virtual CORBA::Boolean _non_existent();
virtual CORBA::Boolean _is_equivalent(CORBA::Object_ptr);
virtual CORBA::ULong _hash(CORBA::ULong);
virtual void _create_request(CORBA::Context_ptr, const char*,
CORBA::NVList_ptr, CORBA::NamedValue_ptr,
CORBA::Request_out, CORBA::Flags);
virtual void _create_request(CORBA::Context_ptr, const char*,
CORBA::NVList_ptr,
CORBA::NamedValue_ptr,
CORBA::ExceptionList_ptr,
CORBA::ContextList_ptr,
CORBA::Request_out,
CORBA::Flags);
virtual CORBA::Request_ptr _request(const char*);
virtual CORBA::Policy_ptr _get_policy(CORBA::PolicyType);
virtual CORBA::Object_ptr _set_policy_overrides(
const CORBA::PolicyList&, CORBA::SetOverrideType);
virtual CORBA::PolicyList* _get_policy_overrides(
const CORBA::PolicyTypeSeq&);
virtual CORBA::Policy_ptr _get_client_policy(CORBA::PolicyType);
virtual CORBA::Boolean _validate_connection(CORBA::PolicyList_out);
virtual OCI::ConnectorInfo_ptr _get_oci_connector_info();
virtual OCI::TransportInfo_ptr _get_oci_transport_info();
virtual void _add_ref();
virtual void _remove_ref();
virtual const char** _OB_ids() const;
void _OB_setup(OB::ORBInstance_ptr, OB::RefCountIOR_ptr,
OB::RefCountPolicyList_ptr);
void _OB_copyFrom(CORBA::Object_ptr);
OB::ORBInstance_ptr _OB_ORBInstance() const;
virtual OB::RefCountIOR_ptr _OB_IOR() const;
virtual OB::RefCountIOR_ptr _OB_origIOR() const;
virtual void _OB_marshalOrigIOR(OB::OutputStreamImpl*) const;
OB::RefCountPolicyList_ptr _OB_policies() const;
CORBA::Policy_ptr _OB_getPolicy(CORBA::PolicyType) const;
void _OB_handleException(const OB::ExceptionBase&, CORBA::ULong&,
CORBA::ULong&, bool = false);
virtual CORBA::AbstractBase_ptr _OB_toAbstractBase();
friend class OB::InputStream;
friend class OB::OutputStream;
};
}
namespace OBCORBA
{
class ORB_impl;
}
namespace OB
{
class ObjectFactory : public RefCount
{
ObjectFactory(const ObjectFactory&);
void operator=(const ObjectFactory&);
bool destroy_;
ORBInstance_var orbInstance_;
CORBA::PolicyManager_var policyManager_;
ObjectFactory();
~ObjectFactory();
friend class ::OBCORBA::ORB_impl;
public:
static inline ObjectFactory_ptr _duplicate(ObjectFactory_ptr p)
{ if(p) p -> _OB_incRef(); return p; }
static inline ObjectFactory_ptr _nil()
{ return 0; }
void destroy();
void setORBInstance(ORBInstance_ptr);
void setPolicyManager(CORBA::PolicyManager_ptr);
CORBA::Object_ptr createObject(OB::RefCountIOR_ptr);
CORBA::Object_ptr stringToObject(const char*);
OB::RefCountPolicyList_ptr policies();
};
}
namespace CORBA
{
inline void
release(OB::ObjectFactory_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(OB::ObjectFactory_ptr p)
{
return p == 0;
}
}
# 24 "../../include/OB/MarshalStubImpl.h" 2
namespace OB
{
typedef ObjSeq< Client, int > ClientSeq;
typedef SeqVar< ClientSeq > ClientSeq_var;
typedef ObjSeq< RefCountProfileInfo, int > RefCountProfileInfoSeq;
typedef SeqVar< RefCountProfileInfoSeq > RefCountProfileInfoSeq_var;
struct ParameterDesc;
class MarshalStubImpl : virtual public StubImplBase, public JTCMutex
{
MarshalStubImpl(const MarshalStubImpl&);
void operator=(const MarshalStubImpl&);
ORBInstance_var orbInstance_;
RefCountIOR_var IOR_;
RefCountIOR_var origIOR_;
RefCountPolicyList_var policies_;
OB::stl::list<ClientProfilePair_var>* clientProfilePairs_;
Client_ptr getClientProfilePair(RefCountProfileInfo_out);
protected:
Downcall_ptr _OB_createDowncall(const char*, bool);
Downcall_ptr _OB_createLocateRequestDowncall();
Downcall_ptr _OB_createPIArgsDowncall(const char*, bool, ParameterDesc[],
CORBA::ULong, ParameterDesc*,
CORBA::TypeCode_ptr*, CORBA::ULong);
Downcall_ptr _OB_createPIDIIDowncall(const char*, bool, CORBA::NVList_ptr,
CORBA::NamedValue_ptr,
CORBA::ExceptionList_ptr);
static OutputStream_ptr _OB_preMarshal(Downcall_ptr);
static void _OB_marshalEx(Downcall_ptr, const CORBA::SystemException&);
static void _OB_postMarshal(Downcall_ptr);
static void _OB_locate(Downcall_ptr);
static void _OB_request(Downcall_ptr);
static void _OB_oneway(Downcall_ptr);
static void _OB_deferred(Downcall_ptr);
static void _OB_response(Downcall_ptr);
static bool _OB_poll(Downcall_ptr);
static InputStream_ptr _OB_preUnmarshal(Downcall_ptr);
static InputStream_ptr _OB_preUnmarshal(Downcall_ptr, bool&);
static void _OB_unmarshalEx(Downcall_ptr, const CORBA::SystemException&);
static void _OB_postUnmarshal(Downcall_ptr);
static char* _OB_unmarshalExceptionId(Downcall_ptr);
static void _OB_setUserException(Downcall_ptr, CORBA::UserException*,
const char*);
static void _OB_setUserException(Downcall_ptr,
const CORBA::UserException&);
void _OB_handleFailureException(Downcall_ptr, const FailureException&);
friend class ::CORBA::Request;
public:
MarshalStubImpl();
virtual ~MarshalStubImpl();
static inline MarshalStubImpl_ptr _duplicate(MarshalStubImpl_ptr p)
{ if(p) p -> _OB_incRef(); return p; }
static inline MarshalStubImpl_ptr _nil()
{ return 0; }
virtual CORBA::InterfaceDef_ptr _get_interface();
virtual CORBA::Boolean _is_a(const char*);
virtual CORBA::Boolean _non_existent();
virtual CORBA::Boolean _locate_request();
virtual OCI::ConnectorInfo_ptr _get_oci_connector_info();
virtual OCI::TransportInfo_ptr _get_oci_transport_info();
void _OB_setup(ORBInstance_ptr, RefCountIOR_ptr, RefCountIOR_ptr,
RefCountPolicyList_ptr);
};
}
namespace CORBA
{
inline void
release(OB::MarshalStubImpl_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(OB::MarshalStubImpl_ptr p)
{
return p == 0;
}
}
# 19 "../../include/OB/CORBAClient.h" 2
# 1 "../../include/OB/PIArgs.h" 1
# 14 "../../include/OB/PIArgs.h"
# 1 "../../include/OB/TypeCode_fwd.h" 1
# 15 "../../include/OB/PIArgs.h" 2
namespace OB
{
struct ParameterDesc
{
void* param;
CORBA::TypeCode_ptr tc;
const OB::ConstructedInfo* info;
int mode;
};
}
# 20 "../../include/OB/CORBAClient.h" 2
# 1 "../../include/OB/OBObject.h" 1
# 21 "../../include/OB/CORBAClient.h" 2
# 1 "../../include/OB/AbstractBase.h" 1
# 14 "../../include/OB/AbstractBase.h"
# 1 "../../include/OB/Object_fwd.h" 1
# 15 "../../include/OB/AbstractBase.h" 2
# 1 "../../include/OB/AbstractBase_fwd.h" 1
# 16 "../../include/OB/AbstractBase.h" 2
# 1 "../../include/OB/ValueBase_fwd.h" 1
# 17 "../../include/OB/AbstractBase.h" 2
# 1 "../../include/OB/AnyDeclaration.h" 1
# 19 "../../include/OB/AbstractBase.h" 2
namespace OB
{
class AbstractBaseInfo : public ConstructedInfo
{
public:
AbstractBaseInfo() { }
virtual ~AbstractBaseInfo() { }
virtual void free(void*) const;
virtual void* dup(const void*) const;
virtual void marshal(const void*, OutputStreamImpl*) const;
virtual void unmarshal(void*, InputStreamImpl*) const;
};
}
namespace CORBA
{
class AbstractBase
{
void operator=(const AbstractBase&);
# 63 "../../include/OB/AbstractBase.h"
protected:
AbstractBase();
AbstractBase(const AbstractBase&);
virtual ~AbstractBase() = 0;
public:
static OB::AbstractBaseInfo _OB_abstractBaseInfo;
static AbstractBase_ptr _duplicate(AbstractBase_ptr);
static AbstractBase_ptr _narrow(AbstractBase_ptr);
static AbstractBase_ptr _nil();
virtual Object_ptr _to_object();
virtual ValueBase* _to_value();
};
Boolean is_nil(AbstractBase_ptr);
void release(AbstractBase_ptr);
}
void operator<<=(CORBA::Any&, CORBA::AbstractBase_ptr*);
void operator<<=(CORBA::Any&, CORBA::AbstractBase_ptr);
inline void
operator<<=(CORBA::Any_var& any, CORBA::AbstractBase_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, CORBA::AbstractBase_ptr val)
{
any.inout() <<= val;
}
# 22 "../../include/OB/CORBAClient.h" 2
# 1 "../../include/OB/ValueBase.h" 1
# 14 "../../include/OB/ValueBase.h"
# 1 "../../include/OB/ValueBase_fwd.h" 1
# 15 "../../include/OB/ValueBase.h" 2
# 1 "../../include/OB/ValueFactoryBase_fwd.h" 1
# 14 "../../include/OB/ValueFactoryBase_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 15 "../../include/OB/ValueFactoryBase_fwd.h" 2
namespace CORBA
{
class ValueFactoryBase;
}
void OBRelease(CORBA::ValueFactoryBase*);
void OBDuplicate(CORBA::ValueFactoryBase*);
namespace CORBA
{
typedef OB::ObjVar< ValueFactoryBase > ValueFactoryBase_var;
}
# 16 "../../include/OB/ValueBase.h" 2
# 1 "../../include/OB/AbstractBase_fwd.h" 1
# 17 "../../include/OB/ValueBase.h" 2
# 1 "../../include/OB/ORBInstance_fwd.h" 1
# 18 "../../include/OB/ValueBase.h" 2
# 1 "../../include/OB/POAServantBase.h" 1
# 14 "../../include/OB/POAServantBase.h"
# 1 "../../include/OB/TypeCodeConst.h" 1
# 15 "../../include/OB/POAServantBase.h" 2
# 1 "../../include/OB/POAServantBase_fwd.h" 1
# 14 "../../include/OB/POAServantBase_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 15 "../../include/OB/POAServantBase_fwd.h" 2
namespace PortableServer
{
class ServantBase;
}
void OBRelease(PortableServer::ServantBase*);
void OBDuplicate(PortableServer::ServantBase*);
namespace PortableServer
{
typedef OB::ObjVar< ServantBase > ServantBase_var;
}
# 16 "../../include/OB/POAServantBase.h" 2
# 1 "../../include/OB/Object_fwd.h" 1
# 17 "../../include/OB/POAServantBase.h" 2
# 1 "../../include/OB/POAInterface_fwd.h" 1
# 18 "../../include/OB/POAInterface_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 19 "../../include/OB/POAInterface_fwd.h" 2
# 39 "../../include/OB/POAInterface_fwd.h"
namespace PortableServer
{
class POA;
typedef POA* POA_ptr;
typedef POA* POARef;
}
void OBDuplicate(PortableServer::POA_ptr);
void OBRelease(PortableServer::POA_ptr);
void OBMarshal(PortableServer::POA_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(PortableServer::POA_ptr&, OB::InputStreamImpl*);
namespace PortableServer
{
typedef OB::ObjVar< POA > POA_var;
typedef OB::ObjOut< POA > POA_out;
}
# 18 "../../include/OB/POAServantBase.h" 2
# 1 "../../include/OB/Upcall_fwd.h" 1
# 14 "../../include/OB/Upcall_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 15 "../../include/OB/Upcall_fwd.h" 2
namespace OB
{
class Upcall;
typedef Upcall* Upcall_ptr;
class PIUpcall;
typedef PIUpcall* PIUpcall_ptr;
class UpcallReturn;
typedef UpcallReturn* UpcallReturn_ptr;
}
void OBDuplicate(OB::Upcall_ptr);
void OBRelease(OB::Upcall_ptr);
void OBDuplicate(OB::PIUpcall_ptr);
void OBRelease(OB::PIUpcall_ptr);
void OBDuplicate(OB::UpcallReturn_ptr);
void OBRelease(OB::UpcallReturn_ptr);
namespace OB
{
typedef OB::ObjVar< Upcall > Upcall_var;
typedef OB::ObjVar< PIUpcall > PIUpcall_var;
typedef OB::ObjVar< UpcallReturn > UpcallReturn_var;
}
# 19 "../../include/OB/POAServantBase.h" 2
# 1 "../../include/OB/DirectStubImpl_fwd.h" 1
# 14 "../../include/OB/DirectStubImpl_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 15 "../../include/OB/DirectStubImpl_fwd.h" 2
namespace OB
{
class DirectStubImpl;
typedef DirectStubImpl* DirectStubImpl_ptr;
class DirectStubImplFactory;
typedef DirectStubImplFactory* DirectStubImplFactory_ptr;
}
void OBDuplicate(OB::DirectStubImplFactory_ptr);
void OBRelease(OB::DirectStubImplFactory_ptr);
namespace OB
{
typedef ObjVar< DirectStubImplFactory > DirectStubImplFactory_var;
}
# 20 "../../include/OB/POAServantBase.h" 2
# 1 "../../include/OB/IFR2_fwd.h" 1
# 21 "../../include/OB/POAServantBase.h" 2
# 1 "../../include/OB/OBPOAManager_fwd.h" 1
# 18 "../../include/OB/OBPOAManager_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 19 "../../include/OB/OBPOAManager_fwd.h" 2
# 39 "../../include/OB/OBPOAManager_fwd.h"
namespace OBPortableServer
{
class POAManager;
typedef POAManager* POAManager_ptr;
typedef POAManager* POAManagerRef;
class POAManagerFactory;
typedef POAManagerFactory* POAManagerFactory_ptr;
typedef POAManagerFactory* POAManagerFactoryRef;
}
void OBDuplicate(OBPortableServer::POAManager_ptr);
void OBRelease(OBPortableServer::POAManager_ptr);
void OBMarshal(OBPortableServer::POAManager_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OBPortableServer::POAManager_ptr&, OB::InputStreamImpl*);
void OBDuplicate(OBPortableServer::POAManagerFactory_ptr);
void OBRelease(OBPortableServer::POAManagerFactory_ptr);
void OBMarshal(OBPortableServer::POAManagerFactory_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OBPortableServer::POAManagerFactory_ptr&, OB::InputStreamImpl*);
namespace OBPortableServer
{
typedef OB::ObjVar< POAManager > POAManager_var;
typedef OB::ObjOut< POAManager > POAManager_out;
typedef OB::ObjVar< POAManagerFactory > POAManagerFactory_var;
typedef OB::ObjOut< POAManagerFactory > POAManagerFactory_out;
}
# 22 "../../include/OB/POAServantBase.h" 2
# 1 "../../include/OB/Stream_fwd.h" 1
# 23 "../../include/OB/POAServantBase.h" 2
# 1 "../../include/OB/PIArgs.h" 1
# 25 "../../include/OB/POAServantBase.h" 2
# 1 "../../include/OB/Basic.h" 1
# 27 "../../include/OB/POAServantBase.h" 2
# 1 "../../include/OB/Except.h" 1
# 28 "../../include/OB/POAServantBase.h" 2
namespace CORBA
{
class ServerRequest;
typedef char* RepositoryId;
}
namespace PortableServer
{
class OBUnique_ObjectId;
typedef OB::FixSeq< CORBA::Octet, OBUnique_ObjectId > ObjectId;
typedef OB::SeqVar< OB::FixSeq< CORBA::Octet, OBUnique_ObjectId > >
ObjectId_var;
char* ObjectId_to_string(const ObjectId&);
CORBA::WChar* ObjectId_to_wstring(const ObjectId&);
ObjectId* string_to_ObjectId(const char*);
ObjectId* wstring_to_ObjectId(const CORBA::WChar*);
class ServantBase : public virtual OB::RefCountable
{
# 76 "../../include/OB/POAServantBase.h"
protected:
void _OB_dispatchBase(OB::Upcall_ptr);
static CORBA::Long _OB_findOperation(OB::Upcall_ptr, const char*[],
CORBA::ULong);
static OB::InputStream_ptr _OB_preUnmarshal(OB::Upcall_ptr);
static void _OB_unmarshalEx(OB::Upcall_ptr, const CORBA::SystemException&);
static void _OB_postUnmarshal(OB::Upcall_ptr);
static OB::OutputStream_ptr _OB_preMarshal(OB::Upcall_ptr);
static void _OB_marshalEx(OB::Upcall_ptr, const CORBA::SystemException&);
static void _OB_postMarshal(OB::Upcall_ptr);
static void _OB_setArgDesc(OB::Upcall_ptr,
OB::ParameterDesc*, CORBA::ULong,
OB::ParameterDesc*,
CORBA::TypeCode_ptr*, CORBA::ULong);
friend class ::CORBA::ServerRequest;
ServantBase() { }
ServantBase(const ServantBase&) { }
ServantBase& operator=(const ServantBase&) { return *this; }
public:
virtual ~ServantBase() { }
virtual POA_ptr _default_POA();
virtual CORBA::InterfaceDef_ptr _get_interface()
throw(CORBA::SystemException);
virtual CORBA::Boolean _is_a(const char* logical_type_id)
throw(CORBA::SystemException);
virtual CORBA::Boolean _non_existent()
throw(CORBA::SystemException);
virtual CORBA::RepositoryId _primary_interface(const ObjectId&,
POA_ptr) = 0;
virtual void _add_ref() { }
virtual void _remove_ref() { }
virtual void _OB_dispatch(OB::Upcall_ptr) = 0;
CORBA::Object_ptr _OB_createReference();
virtual OB::DirectStubImpl_ptr _OB_createDirectStubImpl(POA_ptr,
const ObjectId&);
virtual CORBA::ULong _OB_getRefCount();
};
class RefCountServantBase : public virtual ServantBase,
public virtual OB::RefCount
{
protected:
RefCountServantBase() { }
RefCountServantBase(const RefCountServantBase&) { }
RefCountServantBase&
operator=(const RefCountServantBase&) { return *this; }
public:
virtual void _add_ref();
virtual void _remove_ref();
virtual CORBA::ULong _OB_getRefCount();
};
}
# 20 "../../include/OB/ValueBase.h" 2
namespace OB
{
class ValueBaseInfo : public ConstructedInfo
{
public:
ValueBaseInfo() { }
virtual ~ValueBaseInfo() { }
virtual void free(void*) const;
virtual void* dup(const void*) const;
virtual void marshal(const void*, OutputStreamImpl*) const;
virtual void unmarshal(void*, InputStreamImpl*) const;
};
}
namespace CORBA
{
class ValueBase
{
void operator=(const ValueBase&);
# 64 "../../include/OB/ValueBase.h"
static const char* _ob_id_;
static const char* _ob_truncatable_ids_[];
protected:
ValueBase();
ValueBase(const ValueBase&);
virtual ~ValueBase();
public:
static OB::ValueBaseInfo _OB_valueBaseInfo;
virtual ValueBase* _add_ref() = 0;
virtual void _remove_ref() = 0;
virtual ULong _refcount_value() = 0;
virtual ValueBase* _copy_value() = 0;
virtual ValueDef_ptr _get_value_def();
static ValueBase* _downcast(ValueBase*);
static ValueBase* _downcast(AbstractBase_ptr);
virtual const char* _OB_typeId() const;
static const char* _OB_id();
virtual const char** _OB_truncatableIds() const;
virtual Boolean _OB_isCustom() const;
virtual Boolean _OB_isTruncatable() const;
virtual AbstractBase_ptr _OB_toAbstractBase();
virtual void _OB_marshal(OB::OutputStreamImpl*);
virtual void _OB_unmarshal(OB::InputStreamImpl*);
static ValueBase* _OB_createValue(OB::ORBInstance_ptr,
const OB::StrSeq< int >&,
const char*);
static ValueBase* _OB_createValue(CORBA::ValueFactoryBase*);
};
inline void
add_ref(ValueBase* vb)
{
if(vb != 0)
vb -> _add_ref();
}
inline void
remove_ref(ValueBase* vb)
{
if(vb != 0)
vb -> _remove_ref();
}
class DefaultValueRefCountBase : public virtual ValueBase,
public virtual OB::RefCount
{
private:
void operator=(const DefaultValueRefCountBase&);
protected:
DefaultValueRefCountBase();
DefaultValueRefCountBase(const DefaultValueRefCountBase&);
virtual ~DefaultValueRefCountBase();
public:
virtual ValueBase* _add_ref();
virtual void _remove_ref();
virtual ULong _refcount_value();
};
}
namespace OB
{
class ValueRefCountBaseHelper : public virtual CORBA::ValueBase
{
private:
void operator=(const ValueRefCountBaseHelper&);
virtual void servantAddRefImpl() = 0;
public:
virtual CORBA::ValueBase* _add_ref()
{
servantAddRefImpl();
return this;
}
};
}
namespace PortableServer
{
class ValueRefCountBase : public virtual OB::ValueRefCountBaseHelper,
public virtual RefCountServantBase
{
private:
void operator=(const ValueRefCountBase&);
virtual void servantAddRefImpl();
protected:
ValueRefCountBase();
ValueRefCountBase(const ValueRefCountBase&);
virtual ~ValueRefCountBase();
public:
virtual void _remove_ref();
virtual CORBA::ULong _refcount_value();
};
}
# 23 "../../include/OB/CORBAClient.h" 2
# 1 "../../include/OB/ValueFactoryBase.h" 1
# 14 "../../include/OB/ValueFactoryBase.h"
# 1 "../../include/OB/ValueFactoryBase_fwd.h" 1
# 15 "../../include/OB/ValueFactoryBase.h" 2
# 1 "../../include/OB/ValueBase_fwd.h" 1
# 16 "../../include/OB/ValueFactoryBase.h" 2
namespace CORBA
{
class ValueFactoryBase : public virtual OB::RefCount
{
virtual ValueBase* create_for_unmarshal() = 0;
friend class CORBA::ValueBase;
protected:
ValueFactoryBase();
public:
virtual ~ValueFactoryBase();
virtual void _add_ref();
virtual void _remove_ref();
static ValueFactoryBase* _downcast(ValueFactoryBase*);
struct BooleanValue
{
BooleanValue(Boolean b) : value(b) {}
Boolean value;
};
struct CharValue
{
CharValue(Char c) : value(c) {}
Char value;
};
struct OctetValue
{
OctetValue(Octet o) : value(o) {}
Octet value;
};
struct WCharValue
{
WCharValue(WChar wc) : value(wc) {}
WChar value;
};
};
typedef ValueFactoryBase* ValueFactory;
}
# 24 "../../include/OB/CORBAClient.h" 2
# 1 "../../include/OB/Custom.h" 1
# 27 "../../include/OB/Custom.h"
# 1 "../../include/OB/Types.h" 1
# 37 "../../include/OB/Types.h"
namespace CORBA
{
}
namespace CORBA
{
}
namespace OBStubImpl_CORBA
{
}
namespace OBStubImpl_CORBA
{
}
namespace CORBA
{
class OBUnique_AnySeq { };
typedef OB::VarSeq< CORBA::Any, OBUnique_AnySeq > AnySeq;
typedef OB::SeqVar< OB::VarSeq< CORBA::Any, OBUnique_AnySeq > > AnySeq_var;
typedef OB::SeqOut< OB::VarSeq< CORBA::Any, OBUnique_AnySeq > > AnySeq_out;
extern OB::TypeCodeConst _tc_AnySeq;
struct OBInfo_AnySeq : public OB::ConstructedInfo
{
OBInfo_AnySeq() { }
virtual void free(void* p) const
{
delete (AnySeq*)p;
}
virtual void* dup(const void* p) const
{
return new AnySeq(*(const AnySeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
class OBUnique_BooleanSeq { };
typedef OB::FixSeq< CORBA::Boolean, OBUnique_BooleanSeq > BooleanSeq;
typedef OB::SeqVar< OB::FixSeq< CORBA::Boolean, OBUnique_BooleanSeq > > BooleanSeq_var;
typedef OB::SeqOut< OB::FixSeq< CORBA::Boolean, OBUnique_BooleanSeq > > BooleanSeq_out;
extern OB::TypeCodeConst _tc_BooleanSeq;
struct OBInfo_BooleanSeq : public OB::ConstructedInfo
{
OBInfo_BooleanSeq() { }
virtual void free(void* p) const
{
delete (BooleanSeq*)p;
}
virtual void* dup(const void* p) const
{
return new BooleanSeq(*(const BooleanSeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
class OBUnique_CharSeq { };
typedef OB::FixSeq< CORBA::Char, OBUnique_CharSeq > CharSeq;
typedef OB::SeqVar< OB::FixSeq< CORBA::Char, OBUnique_CharSeq > > CharSeq_var;
typedef OB::SeqOut< OB::FixSeq< CORBA::Char, OBUnique_CharSeq > > CharSeq_out;
extern OB::TypeCodeConst _tc_CharSeq;
struct OBInfo_CharSeq : public OB::ConstructedInfo
{
OBInfo_CharSeq() { }
virtual void free(void* p) const
{
delete (CharSeq*)p;
}
virtual void* dup(const void* p) const
{
return new CharSeq(*(const CharSeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
class OBUnique_WCharSeq { };
typedef OB::FixSeq< CORBA::WChar, OBUnique_WCharSeq > WCharSeq;
typedef OB::SeqVar< OB::FixSeq< CORBA::WChar, OBUnique_WCharSeq > > WCharSeq_var;
typedef OB::SeqOut< OB::FixSeq< CORBA::WChar, OBUnique_WCharSeq > > WCharSeq_out;
extern OB::TypeCodeConst _tc_WCharSeq;
struct OBInfo_WCharSeq : public OB::ConstructedInfo
{
OBInfo_WCharSeq() { }
virtual void free(void* p) const
{
delete (WCharSeq*)p;
}
virtual void* dup(const void* p) const
{
return new WCharSeq(*(const WCharSeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
class OBUnique_OctetSeq { };
typedef OB::FixSeq< CORBA::Octet, OBUnique_OctetSeq > OctetSeq;
typedef OB::SeqVar< OB::FixSeq< CORBA::Octet, OBUnique_OctetSeq > > OctetSeq_var;
typedef OB::SeqOut< OB::FixSeq< CORBA::Octet, OBUnique_OctetSeq > > OctetSeq_out;
extern OB::TypeCodeConst _tc_OctetSeq;
struct OBInfo_OctetSeq : public OB::ConstructedInfo
{
OBInfo_OctetSeq() { }
virtual void free(void* p) const
{
delete (OctetSeq*)p;
}
virtual void* dup(const void* p) const
{
return new OctetSeq(*(const OctetSeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
class OBUnique_ShortSeq { };
typedef OB::FixSeq< CORBA::Short, OBUnique_ShortSeq > ShortSeq;
typedef OB::SeqVar< OB::FixSeq< CORBA::Short, OBUnique_ShortSeq > > ShortSeq_var;
typedef OB::SeqOut< OB::FixSeq< CORBA::Short, OBUnique_ShortSeq > > ShortSeq_out;
extern OB::TypeCodeConst _tc_ShortSeq;
struct OBInfo_ShortSeq : public OB::ConstructedInfo
{
OBInfo_ShortSeq() { }
virtual void free(void* p) const
{
delete (ShortSeq*)p;
}
virtual void* dup(const void* p) const
{
return new ShortSeq(*(const ShortSeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
class OBUnique_UShortSeq { };
typedef OB::FixSeq< CORBA::UShort, OBUnique_UShortSeq > UShortSeq;
typedef OB::SeqVar< OB::FixSeq< CORBA::UShort, OBUnique_UShortSeq > > UShortSeq_var;
typedef OB::SeqOut< OB::FixSeq< CORBA::UShort, OBUnique_UShortSeq > > UShortSeq_out;
extern OB::TypeCodeConst _tc_UShortSeq;
struct OBInfo_UShortSeq : public OB::ConstructedInfo
{
OBInfo_UShortSeq() { }
virtual void free(void* p) const
{
delete (UShortSeq*)p;
}
virtual void* dup(const void* p) const
{
return new UShortSeq(*(const UShortSeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
class OBUnique_LongSeq { };
typedef OB::FixSeq< CORBA::Long, OBUnique_LongSeq > LongSeq;
typedef OB::SeqVar< OB::FixSeq< CORBA::Long, OBUnique_LongSeq > > LongSeq_var;
typedef OB::SeqOut< OB::FixSeq< CORBA::Long, OBUnique_LongSeq > > LongSeq_out;
extern OB::TypeCodeConst _tc_LongSeq;
struct OBInfo_LongSeq : public OB::ConstructedInfo
{
OBInfo_LongSeq() { }
virtual void free(void* p) const
{
delete (LongSeq*)p;
}
virtual void* dup(const void* p) const
{
return new LongSeq(*(const LongSeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
class OBUnique_ULongSeq { };
typedef OB::FixSeq< CORBA::ULong, OBUnique_ULongSeq > ULongSeq;
typedef OB::SeqVar< OB::FixSeq< CORBA::ULong, OBUnique_ULongSeq > > ULongSeq_var;
typedef OB::SeqOut< OB::FixSeq< CORBA::ULong, OBUnique_ULongSeq > > ULongSeq_out;
extern OB::TypeCodeConst _tc_ULongSeq;
struct OBInfo_ULongSeq : public OB::ConstructedInfo
{
OBInfo_ULongSeq() { }
virtual void free(void* p) const
{
delete (ULongSeq*)p;
}
virtual void* dup(const void* p) const
{
return new ULongSeq(*(const ULongSeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
class OBUnique_LongLongSeq { };
typedef OB::FixSeq< CORBA::LongLong, OBUnique_LongLongSeq > LongLongSeq;
typedef OB::SeqVar< OB::FixSeq< CORBA::LongLong, OBUnique_LongLongSeq > > LongLongSeq_var;
typedef OB::SeqOut< OB::FixSeq< CORBA::LongLong, OBUnique_LongLongSeq > > LongLongSeq_out;
extern OB::TypeCodeConst _tc_LongLongSeq;
struct OBInfo_LongLongSeq : public OB::ConstructedInfo
{
OBInfo_LongLongSeq() { }
virtual void free(void* p) const
{
delete (LongLongSeq*)p;
}
virtual void* dup(const void* p) const
{
return new LongLongSeq(*(const LongLongSeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
class OBUnique_ULongLongSeq { };
typedef OB::FixSeq< CORBA::ULongLong, OBUnique_ULongLongSeq > ULongLongSeq;
typedef OB::SeqVar< OB::FixSeq< CORBA::ULongLong, OBUnique_ULongLongSeq > > ULongLongSeq_var;
typedef OB::SeqOut< OB::FixSeq< CORBA::ULongLong, OBUnique_ULongLongSeq > > ULongLongSeq_out;
extern OB::TypeCodeConst _tc_ULongLongSeq;
struct OBInfo_ULongLongSeq : public OB::ConstructedInfo
{
OBInfo_ULongLongSeq() { }
virtual void free(void* p) const
{
delete (ULongLongSeq*)p;
}
virtual void* dup(const void* p) const
{
return new ULongLongSeq(*(const ULongLongSeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
class OBUnique_FloatSeq { };
typedef OB::FixSeq< CORBA::Float, OBUnique_FloatSeq > FloatSeq;
typedef OB::SeqVar< OB::FixSeq< CORBA::Float, OBUnique_FloatSeq > > FloatSeq_var;
typedef OB::SeqOut< OB::FixSeq< CORBA::Float, OBUnique_FloatSeq > > FloatSeq_out;
extern OB::TypeCodeConst _tc_FloatSeq;
struct OBInfo_FloatSeq : public OB::ConstructedInfo
{
OBInfo_FloatSeq() { }
virtual void free(void* p) const
{
delete (FloatSeq*)p;
}
virtual void* dup(const void* p) const
{
return new FloatSeq(*(const FloatSeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
class OBUnique_DoubleSeq { };
typedef OB::FixSeq< CORBA::Double, OBUnique_DoubleSeq > DoubleSeq;
typedef OB::SeqVar< OB::FixSeq< CORBA::Double, OBUnique_DoubleSeq > > DoubleSeq_var;
typedef OB::SeqOut< OB::FixSeq< CORBA::Double, OBUnique_DoubleSeq > > DoubleSeq_out;
extern OB::TypeCodeConst _tc_DoubleSeq;
struct OBInfo_DoubleSeq : public OB::ConstructedInfo
{
OBInfo_DoubleSeq() { }
virtual void free(void* p) const
{
delete (DoubleSeq*)p;
}
virtual void* dup(const void* p) const
{
return new DoubleSeq(*(const DoubleSeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
class OBUnique_StringSeq { };
typedef OB::StrSeq< OBUnique_StringSeq > StringSeq;
typedef OB::SeqVar< OB::StrSeq< OBUnique_StringSeq > > StringSeq_var;
typedef OB::SeqOut< OB::StrSeq< OBUnique_StringSeq > > StringSeq_out;
extern OB::TypeCodeConst _tc_StringSeq;
struct OBInfo_StringSeq : public OB::ConstructedInfo
{
OBInfo_StringSeq() { }
virtual void free(void* p) const
{
delete (StringSeq*)p;
}
virtual void* dup(const void* p) const
{
return new StringSeq(*(const StringSeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
class OBUnique_WStringSeq { };
typedef OB::WStrSeq< OBUnique_WStringSeq > WStringSeq;
typedef OB::SeqVar< OB::WStrSeq< OBUnique_WStringSeq > > WStringSeq_var;
typedef OB::SeqOut< OB::WStrSeq< OBUnique_WStringSeq > > WStringSeq_out;
extern OB::TypeCodeConst _tc_WStringSeq;
struct OBInfo_WStringSeq : public OB::ConstructedInfo
{
OBInfo_WStringSeq() { }
virtual void free(void* p) const
{
delete (WStringSeq*)p;
}
virtual void* dup(const void* p) const
{
return new WStringSeq(*(const WStringSeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
typedef char* RepositoryId;
typedef CORBA::String_var RepositoryId_var;
typedef CORBA::String_out RepositoryId_out;
extern OB::TypeCodeConst _tc_RepositoryId;
typedef char* ScopedName;
typedef CORBA::String_var ScopedName_var;
typedef CORBA::String_out ScopedName_out;
extern OB::TypeCodeConst _tc_ScopedName;
typedef char* Identifier;
typedef CORBA::String_var Identifier_var;
typedef CORBA::String_out Identifier_out;
extern OB::TypeCodeConst _tc_Identifier;
typedef char* VersionSpec;
typedef CORBA::String_var VersionSpec_var;
typedef CORBA::String_out VersionSpec_out;
extern OB::TypeCodeConst _tc_VersionSpec;
enum ParameterMode
{
PARAM_IN,
PARAM_OUT,
PARAM_INOUT
};
typedef ParameterMode& ParameterMode_out;
extern OB::TypeCodeConst _tc_ParameterMode;
}
namespace OBProxy_CORBA
{
}
namespace OBStubImpl_CORBA
{
}
namespace OBMarshalStubImpl_CORBA
{
}
namespace OBV_CORBA
{
}
void operator<<=(CORBA::Any&, CORBA::AnySeq*);
void operator<<=(CORBA::Any&, const CORBA::AnySeq&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::AnySeq*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::AnySeq* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::AnySeq& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::AnySeq*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::BooleanSeq*);
void operator<<=(CORBA::Any&, const CORBA::BooleanSeq&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::BooleanSeq*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::BooleanSeq* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::BooleanSeq& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::BooleanSeq*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::CharSeq*);
void operator<<=(CORBA::Any&, const CORBA::CharSeq&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::CharSeq*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::CharSeq* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::CharSeq& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::CharSeq*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::WCharSeq*);
void operator<<=(CORBA::Any&, const CORBA::WCharSeq&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::WCharSeq*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::WCharSeq* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::WCharSeq& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::WCharSeq*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::OctetSeq*);
void operator<<=(CORBA::Any&, const CORBA::OctetSeq&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::OctetSeq*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::OctetSeq* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::OctetSeq& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::OctetSeq*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::ShortSeq*);
void operator<<=(CORBA::Any&, const CORBA::ShortSeq&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::ShortSeq*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::ShortSeq* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::ShortSeq& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::ShortSeq*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::UShortSeq*);
void operator<<=(CORBA::Any&, const CORBA::UShortSeq&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::UShortSeq*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::UShortSeq* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::UShortSeq& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::UShortSeq*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::LongSeq*);
void operator<<=(CORBA::Any&, const CORBA::LongSeq&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::LongSeq*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::LongSeq* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::LongSeq& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::LongSeq*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::ULongSeq*);
void operator<<=(CORBA::Any&, const CORBA::ULongSeq&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::ULongSeq*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::ULongSeq* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::ULongSeq& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::ULongSeq*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::LongLongSeq*);
void operator<<=(CORBA::Any&, const CORBA::LongLongSeq&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::LongLongSeq*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::LongLongSeq* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::LongLongSeq& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::LongLongSeq*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::ULongLongSeq*);
void operator<<=(CORBA::Any&, const CORBA::ULongLongSeq&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::ULongLongSeq*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::ULongLongSeq* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::ULongLongSeq& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::ULongLongSeq*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::FloatSeq*);
void operator<<=(CORBA::Any&, const CORBA::FloatSeq&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::FloatSeq*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::FloatSeq* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::FloatSeq& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::FloatSeq*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::DoubleSeq*);
void operator<<=(CORBA::Any&, const CORBA::DoubleSeq&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::DoubleSeq*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::DoubleSeq* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::DoubleSeq& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::DoubleSeq*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::StringSeq*);
void operator<<=(CORBA::Any&, const CORBA::StringSeq&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::StringSeq*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::StringSeq* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::StringSeq& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::StringSeq*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::WStringSeq*);
void operator<<=(CORBA::Any&, const CORBA::WStringSeq&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::WStringSeq*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::WStringSeq* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::WStringSeq& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::WStringSeq*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::ParameterMode);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::ParameterMode&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::ParameterMode val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::ParameterMode& val)
{
return any.in() >>= val;
}
# 28 "../../include/OB/Custom.h" 2
# 1 "../../include/OB/Native.h" 1
# 37 "../../include/OB/Native.h"
namespace CORBA
{
}
namespace CORBA
{
}
namespace OBStubImpl_CORBA
{
}
namespace OBStubImpl_CORBA
{
}
namespace CORBA
{
typedef OBNative_CORBA::ValueFactory ValueFactory;
}
namespace OBProxy_CORBA
{
}
namespace OBStubImpl_CORBA
{
}
namespace OBMarshalStubImpl_CORBA
{
}
namespace OBV_CORBA
{
}
# 29 "../../include/OB/Custom.h" 2
# 1 "../../include/OB/Custom_fwd.h" 1
# 18 "../../include/OB/Custom_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 19 "../../include/OB/Custom_fwd.h" 2
# 39 "../../include/OB/Custom_fwd.h"
namespace CORBA
{
class DataOutputStream;
class DataInputStream;
class CustomMarshal;
}
void OBDuplicate(CORBA::DataOutputStream*);
void OBRelease(CORBA::DataOutputStream*);
void OBMarshal(CORBA::DataOutputStream*, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::DataOutputStream*&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::DataInputStream*);
void OBRelease(CORBA::DataInputStream*);
void OBMarshal(CORBA::DataInputStream*, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::DataInputStream*&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::CustomMarshal*);
void OBRelease(CORBA::CustomMarshal*);
void OBMarshal(CORBA::CustomMarshal*, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::CustomMarshal*&, OB::InputStreamImpl*);
namespace CORBA
{
typedef OB::ObjVar< DataOutputStream > DataOutputStream_var;
typedef OB::ObjOut< DataOutputStream > DataOutputStream_out;
typedef OB::ObjVar< DataInputStream > DataInputStream_var;
typedef OB::ObjOut< DataInputStream > DataInputStream_out;
typedef OB::ObjVar< CustomMarshal > CustomMarshal_var;
typedef OB::ObjOut< CustomMarshal > CustomMarshal_out;
}
# 30 "../../include/OB/Custom.h" 2
# 41 "../../include/OB/Custom.h"
namespace OBStubImpl_CORBA
{
}
namespace OBStubImpl_CORBA
{
}
namespace CORBA
{
class DataOutputStream : virtual public CORBA::ValueBase
{
void operator=(const DataOutputStream&);
static const char* _ob_id_;
protected:
DataOutputStream() { }
virtual ~DataOutputStream() { }
public:
typedef DataOutputStream_var _var_type;
static DataOutputStream* _downcast(CORBA::ValueBase*);
static DataOutputStream* _downcast(CORBA::AbstractBase_ptr);
virtual void write_any(const CORBA::Any& value) = 0;
virtual void write_boolean(CORBA::Boolean value) = 0;
virtual void write_char(CORBA::Char value) = 0;
virtual void write_wchar(CORBA::WChar value) = 0;
virtual void write_octet(CORBA::Octet value) = 0;
virtual void write_short(CORBA::Short value) = 0;
virtual void write_ushort(CORBA::UShort value) = 0;
virtual void write_long(CORBA::Long value) = 0;
virtual void write_ulong(CORBA::ULong value) = 0;
virtual void write_longlong(CORBA::LongLong value) = 0;
virtual void write_ulonglong(CORBA::ULongLong value) = 0;
virtual void write_float(CORBA::Float value) = 0;
virtual void write_double(CORBA::Double value) = 0;
virtual void write_longdouble(CORBA::LongDouble value) = 0;
virtual void write_string(const char* value) = 0;
virtual void write_wstring(const CORBA::WChar* value) = 0;
virtual void write_Object(CORBA::Object_ptr value) = 0;
virtual void write_Abstract(AbstractBase_ptr value) = 0;
virtual void write_Value(CORBA::ValueBase* value) = 0;
virtual void write_TypeCode(CORBA::TypeCode_ptr value) = 0;
virtual void write_any_array(const AnySeq& seq,
CORBA::ULong offset,
CORBA::ULong length) = 0;
virtual void write_boolean_array(const BooleanSeq& seq,
CORBA::ULong offset,
CORBA::ULong length) = 0;
virtual void write_char_array(const CharSeq& seq,
CORBA::ULong offset,
CORBA::ULong length) = 0;
virtual void write_wchar_array(const WCharSeq& seq,
CORBA::ULong offset,
CORBA::ULong length) = 0;
virtual void write_octet_array(const OctetSeq& seq,
CORBA::ULong offset,
CORBA::ULong length) = 0;
virtual void write_short_array(const ShortSeq& seq,
CORBA::ULong offset,
CORBA::ULong length) = 0;
virtual void write_ushort_array(const UShortSeq& seq,
CORBA::ULong offset,
CORBA::ULong length) = 0;
virtual void write_long_array(const LongSeq& seq,
CORBA::ULong offset,
CORBA::ULong length) = 0;
virtual void write_ulong_array(const ULongSeq& seq,
CORBA::ULong offset,
CORBA::ULong length) = 0;
virtual void write_ulonglong_array(const ULongLongSeq& seq,
CORBA::ULong offset,
CORBA::ULong length) = 0;
virtual void write_longlong_array(const LongLongSeq& seq,
CORBA::ULong offset,
CORBA::ULong length) = 0;
virtual void write_float_array(const FloatSeq& seq,
CORBA::ULong offset,
CORBA::ULong length) = 0;
virtual void write_double_array(const DoubleSeq& seq,
CORBA::ULong offset,
CORBA::ULong length) = 0;
static const char* _OB_id();
virtual const char* _OB_typeId() const;
};
class DataInputStream : virtual public CORBA::ValueBase
{
void operator=(const DataInputStream&);
static const char* _ob_id_;
protected:
DataInputStream() { }
virtual ~DataInputStream() { }
public:
typedef DataInputStream_var _var_type;
static DataInputStream* _downcast(CORBA::ValueBase*);
static DataInputStream* _downcast(CORBA::AbstractBase_ptr);
virtual CORBA::Any* read_any() = 0;
virtual CORBA::Boolean read_boolean() = 0;
virtual CORBA::Char read_char() = 0;
virtual CORBA::WChar read_wchar() = 0;
virtual CORBA::Octet read_octet() = 0;
virtual CORBA::Short read_short() = 0;
virtual CORBA::UShort read_ushort() = 0;
virtual CORBA::Long read_long() = 0;
virtual CORBA::ULong read_ulong() = 0;
virtual CORBA::LongLong read_longlong() = 0;
virtual CORBA::ULongLong read_ulonglong() = 0;
virtual CORBA::Float read_float() = 0;
virtual CORBA::Double read_double() = 0;
virtual CORBA::LongDouble read_longdouble() = 0;
virtual char* read_string() = 0;
virtual CORBA::WChar* read_wstring() = 0;
virtual CORBA::Object_ptr read_Object() = 0;
virtual AbstractBase_ptr read_Abstract() = 0;
virtual CORBA::ValueBase* read_Value() = 0;
virtual CORBA::TypeCode_ptr read_TypeCode() = 0;
virtual void read_any_array(AnySeq& seq,
CORBA::ULong offset,
CORBA::ULong length) = 0;
virtual void read_boolean_array(BooleanSeq& seq,
CORBA::ULong offset,
CORBA::ULong length) = 0;
virtual void read_char_array(CharSeq& seq,
CORBA::ULong offset,
CORBA::ULong length) = 0;
virtual void read_wchar_array(WCharSeq& seq,
CORBA::ULong offset,
CORBA::ULong length) = 0;
virtual void read_octet_array(OctetSeq& seq,
CORBA::ULong offset,
CORBA::ULong length) = 0;
virtual void read_short_array(ShortSeq& seq,
CORBA::ULong offset,
CORBA::ULong length) = 0;
virtual void read_ushort_array(UShortSeq& seq,
CORBA::ULong offset,
CORBA::ULong length) = 0;
virtual void read_long_array(LongSeq& seq,
CORBA::ULong offset,
CORBA::ULong length) = 0;
virtual void read_ulong_array(ULongSeq& seq,
CORBA::ULong offset,
CORBA::ULong length) = 0;
virtual void read_ulonglong_array(ULongLongSeq& seq,
CORBA::ULong offset,
CORBA::ULong length) = 0;
virtual void read_longlong_array(LongLongSeq& seq,
CORBA::ULong offset,
CORBA::ULong length) = 0;
virtual void read_float_array(FloatSeq& seq,
CORBA::ULong offset,
CORBA::ULong length) = 0;
virtual void read_double_array(DoubleSeq& seq,
CORBA::ULong offset,
CORBA::ULong length) = 0;
static const char* _OB_id();
virtual const char* _OB_typeId() const;
};
class CustomMarshal : virtual public CORBA::ValueBase
{
void operator=(const CustomMarshal&);
static const char* _ob_id_;
protected:
CustomMarshal() { }
virtual ~CustomMarshal() { }
public:
typedef CustomMarshal_var _var_type;
static CustomMarshal* _downcast(CORBA::ValueBase*);
static CustomMarshal* _downcast(CORBA::AbstractBase_ptr);
virtual void marshal(DataOutputStream* os) = 0;
virtual void unmarshal(DataInputStream* is) = 0;
static const char* _OB_id();
virtual const char* _OB_typeId() const;
};
}
namespace OBProxy_CORBA
{
}
namespace OBStubImpl_CORBA
{
}
namespace OBMarshalStubImpl_CORBA
{
}
namespace OBV_CORBA
{
}
# 25 "../../include/OB/CORBAClient.h" 2
# 1 "../../include/OB/Stream.h" 1
# 14 "../../include/OB/Stream.h"
# 1 "../../include/OB/Stream_fwd.h" 1
# 15 "../../include/OB/Stream.h" 2
# 1 "../../include/OB/Principal_fwd.h" 1
# 16 "../../include/OB/Stream.h" 2
# 1 "../../include/OB/Object_fwd.h" 1
# 17 "../../include/OB/Stream.h" 2
# 1 "../../include/OB/ValueBase_fwd.h" 1
# 18 "../../include/OB/Stream.h" 2
# 1 "../../include/OB/AbstractBase_fwd.h" 1
# 19 "../../include/OB/Stream.h" 2
# 1 "../../include/OB/Custom_fwd.h" 1
# 20 "../../include/OB/Stream.h" 2
# 1 "../../include/OB/TypeCode_fwd.h" 1
# 21 "../../include/OB/Stream.h" 2
# 1 "../../include/OB/ORBInstance_fwd.h" 1
# 22 "../../include/OB/Stream.h" 2
# 1 "../../include/OB/OCIBuffer_fwd.h" 1
# 14 "../../include/OB/OCIBuffer_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 15 "../../include/OB/OCIBuffer_fwd.h" 2
namespace OCI
{
class Buffer;
typedef Buffer* Buffer_ptr;
typedef Buffer_ptr BufferRef;
}
void OBDuplicate(OCI::Buffer_ptr);
void OBRelease(OCI::Buffer_ptr);
namespace OCI
{
typedef OB::ObjVar< Buffer > Buffer_var;
}
# 23 "../../include/OB/Stream.h" 2
# 1 "../../include/OB/ValueReaderWriter_fwd.h" 1
# 14 "../../include/OB/ValueReaderWriter_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 15 "../../include/OB/ValueReaderWriter_fwd.h" 2
namespace OB
{
class ValueReader;
typedef ValueReader* ValueReader_ptr;
class ValueWriter;
typedef ValueWriter* ValueWriter_ptr;
}
void OBDuplicate(OB::ValueReader_ptr);
void OBRelease(OB::ValueReader_ptr);
void OBDuplicate(OB::ValueWriter_ptr);
void OBRelease(OB::ValueWriter_ptr);
namespace OB
{
typedef OB::ObjVar< ValueReader > ValueReader_var;
typedef OB::ObjVar< ValueWriter > ValueWriter_var;
}
# 24 "../../include/OB/Stream.h" 2
# 1 "../../include/OB/Any.h" 1
# 26 "../../include/OB/Stream.h" 2
# 1 "../../include/OB/TypeCodeConst.h" 1
# 27 "../../include/OB/Stream.h" 2
# 1 "../../include/OB/OCITypes.h" 1
# 27 "../../include/OB/OCITypes.h"
# 1 "../../include/OB/IOP.h" 1
# 37 "../../include/OB/IOP.h"
namespace IOP
{
}
namespace IOP
{
}
namespace OBStubImpl_IOP
{
}
namespace OBStubImpl_IOP
{
}
namespace IOP
{
typedef CORBA::ULong ProfileId;
typedef CORBA::ULong_out ProfileId_out;
const ProfileId TAG_INTERNET_IOP = 0U;
const ProfileId TAG_MULTIPLE_COMPONENTS = 1U;
struct TaggedProfile;
typedef OB::VarVar< TaggedProfile > TaggedProfile_var;
typedef OB::VarOut< TaggedProfile > TaggedProfile_out;
struct TaggedProfile
{
TaggedProfile() { }
TaggedProfile(const TaggedProfile&);
TaggedProfile& operator=(const TaggedProfile&);
typedef TaggedProfile_var _var_type;
ProfileId tag;
class OBUnique_profile_data { };
typedef OB::FixSeq< CORBA::Octet, OBUnique_profile_data > _profile_data_seq;
_profile_data_seq profile_data;
void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(TaggedProfile&, OB::InputStreamImpl*);
};
struct IOR;
typedef OB::VarVar< IOR > IOR_var;
typedef OB::VarOut< IOR > IOR_out;
struct IOR
{
IOR() { }
IOR(const IOR&);
IOR& operator=(const IOR&);
typedef IOR_var _var_type;
OB::StrForStruct type_id;
class OBUnique_profiles { };
typedef OB::VarSeq< TaggedProfile, OBUnique_profiles > _profiles_seq;
_profiles_seq profiles;
void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(IOR&, OB::InputStreamImpl*);
};
typedef CORBA::ULong ComponentId;
typedef CORBA::ULong_out ComponentId_out;
struct TaggedComponent;
typedef OB::VarVar< TaggedComponent > TaggedComponent_var;
typedef OB::VarOut< TaggedComponent > TaggedComponent_out;
struct TaggedComponent
{
TaggedComponent() { }
TaggedComponent(const TaggedComponent&);
TaggedComponent& operator=(const TaggedComponent&);
typedef TaggedComponent_var _var_type;
ComponentId tag;
class OBUnique_component_data { };
typedef OB::FixSeq< CORBA::Octet, OBUnique_component_data > _component_data_seq;
_component_data_seq component_data;
void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(TaggedComponent&, OB::InputStreamImpl*);
};
class OBUnique_MultipleComponentProfile { };
typedef OB::VarSeq< TaggedComponent, OBUnique_MultipleComponentProfile > MultipleComponentProfile;
typedef OB::SeqVar< OB::VarSeq< TaggedComponent, OBUnique_MultipleComponentProfile > > MultipleComponentProfile_var;
typedef OB::SeqOut< OB::VarSeq< TaggedComponent, OBUnique_MultipleComponentProfile > > MultipleComponentProfile_out;
class OBUnique_TaggedComponentSeq { };
typedef OB::VarSeq< TaggedComponent, OBUnique_TaggedComponentSeq > TaggedComponentSeq;
typedef OB::SeqVar< OB::VarSeq< TaggedComponent, OBUnique_TaggedComponentSeq > > TaggedComponentSeq_var;
typedef OB::SeqOut< OB::VarSeq< TaggedComponent, OBUnique_TaggedComponentSeq > > TaggedComponentSeq_out;
const ComponentId TAG_ORB_TYPE = 0U;
const ComponentId TAG_CODE_SETS = 1U;
const ComponentId TAG_POLICIES = 2U;
const ComponentId TAG_ALTERNATE_IIOP_ADDRESS = 3U;
const ComponentId TAG_ASSOCIATION_OPTIONS = 13U;
const ComponentId TAG_SEC_NAME = 14U;
const ComponentId TAG_SPKM_1_SEC_MECH = 15U;
const ComponentId TAG_SPKM_2_SEC_MECH = 16U;
const ComponentId TAG_KerberosV5_SEC_MECH = 17U;
const ComponentId TAG_CSI_ECMA_Secret_SEC_MECH = 18U;
const ComponentId TAG_CSI_ECMA_Hybrid_SEC_MECH = 19U;
const ComponentId TAG_SSL_SEC_TRANS = 20U;
const ComponentId TAG_CSI_ECMA_Public_SEC_MECH = 21U;
const ComponentId TAG_GENERIC_SEC_MECH = 22U;
const ComponentId TAG_JAVA_CODEBASE = 25U;
const ComponentId TAG_COMPLETE_OBJECT_KEY = 5U;
const ComponentId TAG_ENDPOINT_ID_POSITION = 6U;
const ComponentId TAG_LOCATION_POLICY = 12U;
const ComponentId TAG_DCE_STRING_BINDING = 100U;
const ComponentId TAG_DCE_BINDING_NAME = 101U;
const ComponentId TAG_DCE_NO_PIPES = 102U;
const ComponentId TAG_DCE_SEC_MECH = 103U;
typedef CORBA::ULong ServiceId;
typedef CORBA::ULong_out ServiceId_out;
struct ServiceContext;
typedef OB::VarVar< ServiceContext > ServiceContext_var;
typedef OB::VarOut< ServiceContext > ServiceContext_out;
struct ServiceContext
{
ServiceContext() { }
ServiceContext(const ServiceContext&);
ServiceContext& operator=(const ServiceContext&);
typedef ServiceContext_var _var_type;
ServiceId context_id;
class OBUnique_context_data { };
typedef OB::FixSeq< CORBA::Octet, OBUnique_context_data > _context_data_seq;
_context_data_seq context_data;
void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(ServiceContext&, OB::InputStreamImpl*);
};
class OBUnique_ServiceContextList { };
typedef OB::VarSeq< ServiceContext, OBUnique_ServiceContextList > ServiceContextList;
typedef OB::SeqVar< OB::VarSeq< ServiceContext, OBUnique_ServiceContextList > > ServiceContextList_var;
typedef OB::SeqOut< OB::VarSeq< ServiceContext, OBUnique_ServiceContextList > > ServiceContextList_out;
const ServiceId TransactionService = 0U;
const ServiceId CodeSets = 1U;
const ServiceId ChainBypassCheck = 2U;
const ServiceId ChainBypassInfo = 3U;
const ServiceId LogicalThreadId = 4U;
const ServiceId BI_DIR_IIOP = 5U;
const ServiceId SendingContextRunTime = 6U;
const ServiceId INVOCATION_POLICIES = 7U;
const ServiceId FORWARDED_IDENTITY = 8U;
const ServiceId UnknownExceptionInfo = 9U;
}
namespace OBProxy_IOP
{
}
namespace OBStubImpl_IOP
{
}
namespace OBMarshalStubImpl_IOP
{
}
namespace OBV_IOP
{
}
# 28 "../../include/OB/OCITypes.h" 2
# 1 "../../include/OB/OCIBuffer.h" 1
# 14 "../../include/OB/OCIBuffer.h"
# 1 "../../include/OB/OCIBuffer_fwd.h" 1
# 15 "../../include/OB/OCIBuffer.h" 2
namespace OCI
{
# 28 "../../include/OB/OCIBuffer.h"
class BufferImpl
{
CORBA::Octet defBuf_[1200];
bool rel_;
CORBA::Octet* real_;
CORBA::ULong max_;
public:
CORBA::Octet* data_;
CORBA::ULong len_;
CORBA::Octet* cur_;
CORBA::Octet* last_;
void doRealloc(CORBA::ULong);
public:
BufferImpl()
: rel_(false), real_(0), max_(0), data_(0), len_(0), cur_(0), last_(0)
{
}
BufferImpl(CORBA::Octet* data, CORBA::ULong len)
: rel_(false), real_(data), max_(len), data_(data), len_(len),
cur_(data), last_(data_ + len_)
{
}
BufferImpl(CORBA::ULong);
virtual ~BufferImpl();
CORBA::Octet* data() { return data_; }
CORBA::Octet* rest() { return cur_; }
CORBA::ULong length() { return len_; }
CORBA::ULong rest_length() { return len_ - (cur_ - data_); }
CORBA::ULong pos() { return (cur_ - data_); }
void pos(CORBA::ULong pos) { cur_ = data_ + pos; }
void advance(CORBA::ULong delta) { cur_ += delta; }
CORBA::Boolean is_full() { return cur_ >= last_; }
void alloc(CORBA::ULong);
void realloc(CORBA::ULong n)
{
(static_cast<void> ((n >= len_) ? 0 : (__assert_fail ("n >= len_", "../../include/OB/OCIBuffer.h", 93, __PRETTY_FUNCTION__), 0)));
if(n > max_)
{
doRealloc(n);
}
else
{
len_ = n;
last_ = data_ + len_;
}
}
void consume(BufferImpl*);
};
class Buffer : public BufferImpl, public OB::SimpleRefCount
{
public:
Buffer() { }
Buffer(CORBA::Octet* data, CORBA::ULong len) : BufferImpl(data, len) { }
Buffer(CORBA::ULong n) : BufferImpl(n) { }
static inline Buffer_ptr _duplicate(Buffer_ptr p)
{ if(p) p -> _OB_incRef(); return p; }
static inline Buffer_ptr _nil()
{ return 0; }
};
typedef OB::ObjSeq< Buffer, int > BufferSeq;
typedef OB::SeqVar< OB::ObjSeq< Buffer, int > > BufferSeq_var;
}
namespace CORBA
{
inline void
release(OCI::Buffer_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(OCI::Buffer_ptr p)
{
return p == 0;
}
}
# 29 "../../include/OB/OCITypes.h" 2
# 1 "../../include/OB/Types.h" 1
# 30 "../../include/OB/OCITypes.h" 2
# 41 "../../include/OB/OCITypes.h"
namespace OCI
{
}
namespace OCI
{
}
namespace OBStubImpl_OCI
{
}
namespace OBStubImpl_OCI
{
}
namespace OCI
{
typedef ::IOP::IOR IOR;
typedef ::IOP::IOR_var IOR_var;
typedef ::IOP::IOR_out IOR_out;
extern OB::TypeCodeConst _tc_IOR;
typedef CORBA::ULong ProfileId;
typedef CORBA::ULong_out ProfileId_out;
extern OB::TypeCodeConst _tc_ProfileId;
class OBUnique_ProfileIdSeq { };
typedef OB::FixSeq< CORBA::ULong, OBUnique_ProfileIdSeq > ProfileIdSeq;
typedef OB::SeqVar< OB::FixSeq< CORBA::ULong, OBUnique_ProfileIdSeq > > ProfileIdSeq_var;
typedef OB::SeqOut< OB::FixSeq< CORBA::ULong, OBUnique_ProfileIdSeq > > ProfileIdSeq_out;
extern OB::TypeCodeConst _tc_ProfileIdSeq;
struct OBInfo_ProfileIdSeq : public OB::ConstructedInfo
{
OBInfo_ProfileIdSeq() { }
virtual void free(void* p) const
{
delete (ProfileIdSeq*)p;
}
virtual void* dup(const void* p) const
{
return new ProfileIdSeq(*(const ProfileIdSeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
typedef char* PluginId;
typedef CORBA::String_var PluginId_var;
typedef CORBA::String_out PluginId_out;
extern OB::TypeCodeConst _tc_PluginId;
class OBUnique_PluginIdSeq { };
typedef OB::StrSeq< OBUnique_PluginIdSeq > PluginIdSeq;
typedef OB::SeqVar< OB::StrSeq< OBUnique_PluginIdSeq > > PluginIdSeq_var;
typedef OB::SeqOut< OB::StrSeq< OBUnique_PluginIdSeq > > PluginIdSeq_out;
extern OB::TypeCodeConst _tc_PluginIdSeq;
struct OBInfo_PluginIdSeq : public OB::ConstructedInfo
{
OBInfo_PluginIdSeq() { }
virtual void free(void* p) const
{
delete (PluginIdSeq*)p;
}
virtual void* dup(const void* p) const
{
return new PluginIdSeq(*(const PluginIdSeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
typedef OB::FixSeq< CORBA::Octet, CORBA::OBUnique_OctetSeq > ObjectKey;
typedef OB::SeqVar< OB::FixSeq< CORBA::Octet, CORBA::OBUnique_OctetSeq > > ObjectKey_var;
typedef OB::SeqOut< OB::FixSeq< CORBA::Octet, CORBA::OBUnique_OctetSeq > > ObjectKey_out;
extern OB::TypeCodeConst _tc_ObjectKey;
struct OBInfo_ObjectKey : public OB::ConstructedInfo
{
OBInfo_ObjectKey() { }
virtual void free(void* p) const
{
delete (ObjectKey*)p;
}
virtual void* dup(const void* p) const
{
return new ObjectKey(*(const ObjectKey*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
typedef OB::VarSeq< ::IOP::TaggedComponent, IOP::OBUnique_TaggedComponentSeq > TaggedComponentSeq;
typedef OB::SeqVar< OB::VarSeq< ::IOP::TaggedComponent, IOP::OBUnique_TaggedComponentSeq > > TaggedComponentSeq_var;
typedef OB::SeqOut< OB::VarSeq< ::IOP::TaggedComponent, IOP::OBUnique_TaggedComponentSeq > > TaggedComponentSeq_out;
extern OB::TypeCodeConst _tc_TaggedComponentSeq;
struct OBInfo_TaggedComponentSeq : public OB::ConstructedInfo
{
OBInfo_TaggedComponentSeq() { }
virtual void free(void* p) const
{
delete (TaggedComponentSeq*)p;
}
virtual void* dup(const void* p) const
{
return new TaggedComponentSeq(*(const TaggedComponentSeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
typedef CORBA::Long Handle;
typedef CORBA::Long_out Handle_out;
extern OB::TypeCodeConst _tc_Handle;
enum SendReceiveMode
{
SendOnly,
ReceiveOnly,
SendReceive
};
typedef SendReceiveMode& SendReceiveMode_out;
extern OB::TypeCodeConst _tc_SendReceiveMode;
struct ProfileInfo;
typedef OB::VarVar< ProfileInfo > ProfileInfo_var;
typedef OB::VarOut< ProfileInfo > ProfileInfo_out;
struct ProfileInfo
{
ProfileInfo() { }
ProfileInfo(const ProfileInfo&);
ProfileInfo& operator=(const ProfileInfo&);
typedef ProfileInfo_var _var_type;
ObjectKey key;
CORBA::Octet major;
CORBA::Octet minor;
ProfileId id;
CORBA::ULong index;
TaggedComponentSeq components;
void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(ProfileInfo&, OB::InputStreamImpl*);
};
extern OB::TypeCodeConst _tc_ProfileInfo;
class OBUnique_ProfileInfoSeq { };
typedef OB::VarSeq< ProfileInfo, OBUnique_ProfileInfoSeq > ProfileInfoSeq;
typedef OB::SeqVar< OB::VarSeq< ProfileInfo, OBUnique_ProfileInfoSeq > > ProfileInfoSeq_var;
typedef OB::SeqOut< OB::VarSeq< ProfileInfo, OBUnique_ProfileInfoSeq > > ProfileInfoSeq_out;
extern OB::TypeCodeConst _tc_ProfileInfoSeq;
struct OBInfo_ProfileInfoSeq : public OB::ConstructedInfo
{
OBInfo_ProfileInfoSeq() { }
virtual void free(void* p) const
{
delete (ProfileInfoSeq*)p;
}
virtual void* dup(const void* p) const
{
return new ProfileInfoSeq(*(const ProfileInfoSeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
class OBUnique_ParamSeq { };
typedef OB::StrSeq< OBUnique_ParamSeq > ParamSeq;
typedef OB::SeqVar< OB::StrSeq< OBUnique_ParamSeq > > ParamSeq_var;
typedef OB::SeqOut< OB::StrSeq< OBUnique_ParamSeq > > ParamSeq_out;
extern OB::TypeCodeConst _tc_ParamSeq;
struct OBInfo_ParamSeq : public OB::ConstructedInfo
{
OBInfo_ParamSeq() { }
virtual void free(void* p) const
{
delete (ParamSeq*)p;
}
virtual void* dup(const void* p) const
{
return new ParamSeq(*(const ParamSeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
}
namespace OBProxy_OCI
{
}
namespace OBStubImpl_OCI
{
}
namespace OBMarshalStubImpl_OCI
{
}
namespace OBV_OCI
{
}
void operator<<=(CORBA::Any&, OCI::ProfileIdSeq*);
void operator<<=(CORBA::Any&, const OCI::ProfileIdSeq&);
CORBA::Boolean operator>>=(const CORBA::Any&, const OCI::ProfileIdSeq*&);
inline void
operator<<=(CORBA::Any_var& any, OCI::ProfileIdSeq* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const OCI::ProfileIdSeq& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const OCI::ProfileIdSeq*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, OCI::PluginIdSeq*);
void operator<<=(CORBA::Any&, const OCI::PluginIdSeq&);
CORBA::Boolean operator>>=(const CORBA::Any&, const OCI::PluginIdSeq*&);
inline void
operator<<=(CORBA::Any_var& any, OCI::PluginIdSeq* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const OCI::PluginIdSeq& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const OCI::PluginIdSeq*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, OCI::SendReceiveMode);
CORBA::Boolean operator>>=(const CORBA::Any&, OCI::SendReceiveMode&);
inline void
operator<<=(CORBA::Any_var& any, OCI::SendReceiveMode val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, OCI::SendReceiveMode& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, OCI::ProfileInfo*);
void operator<<=(CORBA::Any&, const OCI::ProfileInfo&);
CORBA::Boolean operator>>=(const CORBA::Any&, const OCI::ProfileInfo*&);
inline void
operator<<=(CORBA::Any_var& any, OCI::ProfileInfo* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const OCI::ProfileInfo& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const OCI::ProfileInfo*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, OCI::ProfileInfoSeq*);
void operator<<=(CORBA::Any&, const OCI::ProfileInfoSeq&);
CORBA::Boolean operator>>=(const CORBA::Any&, const OCI::ProfileInfoSeq*&);
inline void
operator<<=(CORBA::Any_var& any, OCI::ProfileInfoSeq* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const OCI::ProfileInfoSeq& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const OCI::ProfileInfoSeq*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, OCI::ParamSeq*);
void operator<<=(CORBA::Any&, const OCI::ParamSeq&);
CORBA::Boolean operator>>=(const CORBA::Any&, const OCI::ParamSeq*&);
inline void
operator<<=(CORBA::Any_var& any, OCI::ParamSeq* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const OCI::ParamSeq& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const OCI::ParamSeq*& val)
{
return any.in() >>= val;
}
# 28 "../../include/OB/Stream.h" 2
# 1 "../../include/OB/CodeConverters.h" 1
# 14 "../../include/OB/CodeConverters.h"
namespace OB
{
class CodeConverterBase;
struct CodeConverters
{
CodeConverterBase* inputCharConverter;
CodeConverterBase* outputCharConverter;
CodeConverterBase* inputWcharConverter;
CodeConverterBase* outputWcharConverter;
bool equal(const CodeConverters& other) const
{
return inputCharConverter == other.inputCharConverter &&
outputCharConverter == other.outputCharConverter &&
inputWcharConverter == other.inputWcharConverter &&
outputWcharConverter == other.outputWcharConverter;
}
};
}
# 29 "../../include/OB/Stream.h" 2
# 1 "../../include/OB/Hashtable.h" 1
# 30 "../../include/OB/Stream.h" 2
namespace OB
{
class TypeCodeCache;
class InputStreamImpl
{
InputStreamImpl(const InputStreamImpl&);
InputStreamImpl& operator=(const InputStreamImpl&);
protected:
ORBInstance_var orbInstance_;
OCI::BufferImpl* buf_;
CORBA::Octet* origCur_;
bool origSwap_;
bool swap_;
CodeConverters codeConverters_;
CORBA::UShort GIOPVersion_;
ValueReader_var valueReader_;
bool charConversionRequired_;
bool wCharConversionRequired_;
TypeCodeCache* cache_;
bool charReaderRequired_;
bool charReaderOrConversionRequired_;
struct OctetPtrHasher
{
static CORBA::ULong
hash(const CORBA::Octet* k)
{
return (CORBA::ULong)((long)k);
}
static bool
comp(const CORBA::Octet* k1, const CORBA::Octet* k2)
{
return k1 == k2;
}
};
typedef Hashtable<const CORBA::Octet*, CORBA::TypeCode_ptr,
OctetPtrHasher> ReadTCHistory;
CORBA::TypeCode_ptr checkCache(const char*, CORBA::Octet*, CORBA::ULong);
CORBA::TypeCode_ptr readTypeCodeImpl(ReadTCHistory&, bool = false);
ValueReader_ptr valueReader();
void checkChunk();
friend class OutputStreamImpl;
public:
InputStreamImpl(OCI::BufferImpl*, CORBA::ULong, bool,
const CodeConverters* = 0, CORBA::UShort = 0);
virtual ~InputStreamImpl();
void _OB_codeConverters(const CodeConverters*, CORBA::UShort);
const CodeConverters* _OB_codeConverters()
{ return &codeConverters_; }
OCI::BufferImpl* _OB_bufferImpl() { return buf_; }
CORBA::ULong _OB_pos() { return buf_ -> pos(); }
void _OB_pos(CORBA::ULong pos) { buf_ -> pos(pos); }
bool _OB_swap() const { return swap_; }
void _OB_swap(bool s) { swap_ = s; }
void _OB_reset();
void _OB_skip(CORBA::ULong length)
{
register CORBA::Octet* newCur = buf_ -> cur_ + length;
if(newCur > buf_ -> last_)
throw CORBA::MARSHAL(MinorReadOverflow, CORBA::COMPLETED_NO);
buf_ -> cur_ = newCur;
}
void _OB_skipAlign(CORBA::ULong align)
{
register CORBA::Octet* newCur = buf_ -> cur_ + align - 1;
newCur -= (unsigned long)newCur % align;
if(newCur > buf_ -> last_)
throw CORBA::MARSHAL(MinorReadOverflow, CORBA::COMPLETED_NO);
buf_ -> cur_ = newCur;
}
void _OB_ORBInstance(ORBInstance_ptr);
ORBInstance_ptr _OB_ORBInstance();
void _OB_readEndian();
CORBA::Long _OB_readLongUnchecked();
void _OB_beginValue();
void _OB_endValue();
void _OB_remarshalValue(CORBA::TypeCode_ptr, OutputStreamImpl*);
CORBA::DataInputStream* _OB_createDataInputStream();
CORBA::Boolean read_boolean()
{
if(valueReader_.in())
checkChunk();
if(buf_ -> cur_ > buf_ -> last_)
throw CORBA::MARSHAL(MinorReadBooleanOverflow,
CORBA::COMPLETED_NO);
CORBA::Boolean val = (*(buf_ -> cur_)++) ? true : false;
return val;
}
CORBA::Octet read_octet()
{
if(valueReader_.in())
checkChunk();
if(buf_ -> cur_ > buf_ -> last_)
throw CORBA::MARSHAL(MinorReadOctetOverflow, CORBA::COMPLETED_NO);
CORBA::Octet val = *(buf_ -> cur_)++;
return val;
}
CORBA::Short read_short();
CORBA::UShort read_ushort();
CORBA::Long read_long();
CORBA::ULong read_ulong();
CORBA::LongLong read_longlong();
CORBA::ULongLong read_ulonglong();
CORBA::Float read_float();
CORBA::Double read_double();
CORBA::LongDouble read_longdouble();
CORBA::Char read_char();
void read_char_array(CORBA::Char*, CORBA::ULong);
CORBA::WChar read_wchar();
char* read_string();
wchar_t* read_wstring();
CORBA::Object_ptr read_Object();
CORBA::TypeCode_ptr read_TypeCode();
CORBA::Principal_ptr read_Principal();
CORBA::Any* read_any();
void read_any(CORBA::Any&);
CORBA::Fixed read_fixed();
CORBA::ValueBase* read_value(const char* = 0);
void read_value(CORBA::Any&, CORBA::TypeCode_ptr);
CORBA::AbstractBase_ptr read_abstract_interface();
void read_boolean_array(CORBA::Boolean* value, CORBA::ULong length)
{
if(length)
{
( (int)(value != 0) ? (void)0 : (OB::NCA(NCANullValue, "value != 0", "../../include/OB/Stream.h", 207), abort()) );
if(valueReader_.in())
checkChunk();
register CORBA::Octet* nextCur = buf_ -> cur_ + length;
if(nextCur > buf_ -> last_)
throw CORBA::MARSHAL(MinorReadBooleanArrayOverflow,
CORBA::COMPLETED_NO);
memcpy(value, buf_ -> cur_, length);
buf_ -> cur_ = nextCur;
}
}
void read_octet_array(CORBA::Octet* value, CORBA::ULong length)
{
if(length)
{
( (int)(value != 0) ? (void)0 : (OB::NCA(NCANullValue, "value != 0", "../../include/OB/Stream.h", 226), abort()) );
if(valueReader_.in())
checkChunk();
register CORBA::Octet* nextCur = buf_ -> cur_ + length;
if(nextCur > buf_ -> last_)
throw CORBA::MARSHAL(MinorReadOctetArrayOverflow,
CORBA::COMPLETED_NO);
memcpy(value, buf_ -> cur_, length);
buf_ -> cur_ = nextCur;
}
}
void read_wchar_array(CORBA::WChar*, CORBA::ULong);
void read_short_array(CORBA::Short*, CORBA::ULong);
void read_ushort_array(CORBA::UShort*, CORBA::ULong);
void read_long_array(CORBA::Long*, CORBA::ULong);
void read_ulong_array(CORBA::ULong*, CORBA::ULong);
void read_longlong_array(CORBA::LongLong*, CORBA::ULong);
void read_ulonglong_array(CORBA::ULongLong*, CORBA::ULong);
void read_float_array(CORBA::Float*, CORBA::ULong);
void read_double_array(CORBA::Double*, CORBA::ULong);
void read_longdouble_array(CORBA::LongDouble*, CORBA::ULong);
void read_any_NoTypeCode(CORBA::Any&, CORBA::TypeCode_ptr);
};
class OutputStreamImpl
{
OutputStreamImpl(const OutputStreamImpl&);
OutputStreamImpl& operator=(const OutputStreamImpl&);
protected:
OCI::BufferImpl* buf_;
CodeConverters codeConverters_;
CORBA::UShort GIOPVersion_;
bool charConversionRequired_;
bool wCharConversionRequired_;
bool charWriterRequired_;
bool charWriterOrConversionRequired_;
ValueWriter_var valueWriter_;
CORBA::ULong alignNext_;
struct TypeCodePtrHasher
{
static CORBA::ULong
hash(const CORBA::TypeCode_ptr k)
{
return (CORBA::ULong)((long)k);
}
static bool
comp(const CORBA::TypeCode_ptr k1, const CORBA::TypeCode_ptr k2)
{
return k1 == k2;
}
};
typedef Hashtable<CORBA::TypeCode_ptr, CORBA::Long,
TypeCodePtrHasher> WriteTCHistory;
CORBA::ULong writeGap();
void writeLength(CORBA::ULong);
void writeTypeCodeImpl(CORBA::TypeCode_ptr, WriteTCHistory&);
void checkBeginChunk();
ValueWriter_ptr valueWriter();
void addCapacity(CORBA::ULong size)
{
# 331 "../../include/OB/Stream.h"
if(alignNext_ > 0)
{
CORBA::ULong align = alignNext_;
alignNext_ = 0;
addCapacity(size, align);
}
else
{
if(buf_ -> cur_ == buf_ -> last_ && valueWriter_.in())
checkBeginChunk();
CORBA::ULong len = buf_ -> cur_ - buf_ -> data_ + size;
if(len > buf_ -> len_)
buf_ -> realloc(len);
}
}
void addCapacity(CORBA::ULong size, CORBA::ULong align)
{
(static_cast<void> ((align > 0) ? 0 : (__assert_fail ("align > 0", "../../include/OB/Stream.h", 358, __PRETTY_FUNCTION__), 0)));
if(buf_ -> cur_ == buf_ -> last_ && valueWriter_.in())
checkBeginChunk();
if(alignNext_ > 0)
{
align = (alignNext_ > align ? alignNext_ : align);
alignNext_ = 0;
}
register CORBA::Octet* newCur = buf_ -> cur_ + align - 1;
newCur -= CORBA::ULong((long)newCur) % align;
buf_ -> cur_ = newCur;
if(newCur + size > buf_ -> last_)
buf_ -> realloc(newCur - buf_ -> data_ + size);
}
friend class InputStreamImpl;
public:
OutputStreamImpl(OCI::BufferImpl*, const CodeConverters* = 0,
CORBA::UShort = 0);
virtual ~OutputStreamImpl();
OCI::BufferImpl* _OB_bufferImpl() { return buf_; }
CORBA::ULong _OB_pos() { return buf_ -> pos(); }
void _OB_pos(CORBA::ULong pos) { buf_ -> pos(pos); }
void _OB_align(CORBA::ULong n)
{
if(CORBA::ULong((long)(buf_ -> cur_)) % n != 0)
addCapacity(0, n);
}
void _OB_alignNext(CORBA::ULong n)
{
alignNext_ = n;
}
void _OB_beginValue(CORBA::Long, const OB::StrSeq< int >&, bool);
void _OB_endValue();
CORBA::DataOutputStream* _OB_createDataOutputStream();
void _OB_writeEndian() { write_boolean(Endian); }
InputStream_ptr create_input_stream();
void write_boolean(CORBA::Boolean value)
{
addCapacity(1);
*(buf_ -> cur_) = value;
buf_ -> cur_ += 1;
}
void write_octet(CORBA::Octet value)
{
addCapacity(1);
*(buf_ -> cur_) = value;
buf_ -> cur_ += 1;
}
void write_short(CORBA::Short value)
{
addCapacity(2, 2);
*(CORBA::Short*)(buf_ -> cur_) = value;
buf_ -> cur_ += 2;
}
void write_ushort(CORBA::UShort value)
{
addCapacity(2, 2);
*(CORBA::UShort*)(buf_ -> cur_) = value;
buf_ -> cur_ += 2;
}
void write_long(CORBA::Long value)
{
addCapacity(4, 4);
*(CORBA::Long*)(buf_ -> cur_) = value;
buf_ -> cur_ += 4;
}
void write_ulong(CORBA::ULong value)
{
addCapacity(4, 4);
*(CORBA::ULong*)(buf_ -> cur_) = value;
buf_ -> cur_ += 4;
}
void write_longlong(CORBA::LongLong value)
{
addCapacity(8, 8);
*(CORBA::LongLong*)(buf_ -> cur_) = value;
buf_ -> cur_ += 8;
}
void write_ulonglong(CORBA::ULongLong value)
{
addCapacity(8, 8);
*(CORBA::ULongLong*)(buf_ -> cur_) = value;
buf_ -> cur_ += 8;
}
void write_float(CORBA::Float value)
{
addCapacity(4, 4);
*(CORBA::Float*)(buf_ -> cur_) = value;
buf_ -> cur_ += 4;
}
void write_double(CORBA::Double value)
{
addCapacity(8, 8);
*(CORBA::Double*)(buf_ -> cur_) = value;
buf_ -> cur_ += 8;
}
void write_longdouble(CORBA::LongDouble);
void write_char(CORBA::Char);
void write_char_array(const CORBA::Char*, CORBA::ULong);
void write_wchar(CORBA::WChar);
void write_string(const char*);
void write_wstring(const wchar_t*);
void write_Object(CORBA::Object_ptr);
void write_TypeCode(CORBA::TypeCode_ptr);
void write_Principal(CORBA::Principal_ptr);
void write_any(const CORBA::Any&);
void write_fixed(const CORBA::Fixed&);
void write_value(CORBA::ValueBase*, const char* = 0);
void write_abstract_interface(CORBA::AbstractBase_ptr);
void write_boolean_array(const CORBA::Boolean* value, CORBA::ULong length)
{
if(length)
{
( (int)(value != 0) ? (void)0 : (OB::NCA(NCANullValue, "value != 0", "../../include/OB/Stream.h", 518), abort()) );
addCapacity(length);
memcpy(buf_ -> cur_, value, length);
buf_ -> cur_ += length;
}
}
void write_octet_array(const CORBA::Octet* value, CORBA::ULong length)
{
if(length)
{
( (int)(value != 0) ? (void)0 : (OB::NCA(NCANullValue, "value != 0", "../../include/OB/Stream.h", 537), abort()) );
addCapacity(length);
memcpy(buf_ -> cur_, value, length);
buf_ -> cur_ += length;
}
}
void write_short_array(const CORBA::Short* value, CORBA::ULong length)
{
if(length)
{
( (int)(value != 0) ? (void)0 : (OB::NCA(NCANullValue, "value != 0", "../../include/OB/Stream.h", 548), abort()) );
CORBA::ULong arrsize = length * 2;
addCapacity(arrsize, 2);
memcpy(buf_ -> cur_, value, arrsize);
buf_ -> cur_ += arrsize;
}
}
void write_ushort_array(const CORBA::UShort* value, CORBA::ULong length)
{
if(length)
{
( (int)(value != 0) ? (void)0 : (OB::NCA(NCANullValue, "value != 0", "../../include/OB/Stream.h", 560), abort()) );
CORBA::ULong arrsize = length * 2;
addCapacity(arrsize, 2);
memcpy(buf_ -> cur_, value, arrsize);
buf_ -> cur_ += arrsize;
}
}
void write_long_array(const CORBA::Long* value, CORBA::ULong length)
{
if(length)
{
( (int)(value != 0) ? (void)0 : (OB::NCA(NCANullValue, "value != 0", "../../include/OB/Stream.h", 572), abort()) );
CORBA::ULong arrsize = length * 4;
addCapacity(arrsize, 4);
memcpy(buf_ -> cur_, value, arrsize);
buf_ -> cur_ += arrsize;
}
}
void write_ulong_array(const CORBA::ULong* value, CORBA::ULong length)
{
if(length)
{
( (int)(value != 0) ? (void)0 : (OB::NCA(NCANullValue, "value != 0", "../../include/OB/Stream.h", 584), abort()) );
CORBA::ULong arrsize = length * 4;
addCapacity(arrsize, 4);
memcpy(buf_ -> cur_, value, arrsize);
buf_ -> cur_ += arrsize;
}
}
void write_longlong_array(const CORBA::LongLong* value,
CORBA::ULong length)
{
if(length)
{
( (int)(value != 0) ? (void)0 : (OB::NCA(NCANullValue, "value != 0", "../../include/OB/Stream.h", 597), abort()) );
CORBA::ULong arrsize = length * 8;
addCapacity(arrsize, 8);
memcpy(buf_ -> cur_, value, arrsize);
buf_ -> cur_ += arrsize;
}
}
void write_ulonglong_array(const CORBA::ULongLong* value,
CORBA::ULong length)
{
if(length)
{
( (int)(value != 0) ? (void)0 : (OB::NCA(NCANullValue, "value != 0", "../../include/OB/Stream.h", 610), abort()) );
CORBA::ULong arrsize = length * 8;
addCapacity(arrsize, 8);
memcpy(buf_ -> cur_, value, arrsize);
buf_ -> cur_ += arrsize;
}
}
void write_float_array(const CORBA::Float* value, CORBA::ULong length)
{
if(length)
{
( (int)(value != 0) ? (void)0 : (OB::NCA(NCANullValue, "value != 0", "../../include/OB/Stream.h", 622), abort()) );
CORBA::ULong arrsize = length * 4;
addCapacity(arrsize, 4);
memcpy(buf_ -> cur_, value, arrsize);
buf_ -> cur_ += arrsize;
}
}
void write_double_array(const CORBA::Double* value, CORBA::ULong length)
{
if(length)
{
( (int)(value != 0) ? (void)0 : (OB::NCA(NCANullValue, "value != 0", "../../include/OB/Stream.h", 634), abort()) );
CORBA::ULong arrsize = length * 8;
addCapacity(arrsize, 8);
memcpy(buf_ -> cur_, value, arrsize);
buf_ -> cur_ += arrsize;
}
}
void write_wchar_array(const CORBA::WChar*, CORBA::ULong);
void write_longdouble_array(const CORBA::LongDouble*, CORBA::ULong);
void write_any_NoTypeCode(const CORBA::Any&);
void write_InputStreamImpl(InputStreamImpl*, CORBA::TypeCode_ptr);
};
class InputStream : public InputStreamImpl, public SimpleRefCount
{
OCI::Buffer_var bufVar_;
public:
InputStream(OCI::Buffer_ptr, CORBA::ULong, bool, const CodeConverters* = 0,
CORBA::UShort = 0);
virtual ~InputStream();
static inline InputStream_ptr _duplicate(InputStream_ptr p)
{ if(p) p -> _OB_incRef(); return p; }
static inline InputStream_ptr _nil()
{ return 0; }
InputStream_ptr _OB_clone();
OCI::Buffer_ptr _OB_buffer_nodup() { return bufVar_.in(); }
OCI::Buffer_ptr _OB_buffer_retn() { return bufVar_._retn(); }
};
class OutputStream : public OutputStreamImpl, public SimpleRefCount
{
OCI::Buffer_var bufVar_;
public:
OutputStream(OCI::Buffer_ptr, const CodeConverters* = 0,
CORBA::UShort = 0);
virtual ~OutputStream();
static inline OutputStream_ptr _duplicate(OutputStream_ptr p)
{ if(p) p -> _OB_incRef(); return p; }
static inline OutputStream_ptr _nil()
{ return 0; }
OCI::Buffer_ptr _OB_buffer_nodup() { return bufVar_.in(); }
OCI::Buffer_ptr _OB_buffer_retn() { return bufVar_._retn(); }
};
}
namespace CORBA
{
inline void
release(OB::InputStream_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(OB::InputStream_ptr p)
{
return p == 0;
}
inline void
release(OB::OutputStream_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(OB::OutputStream_ptr p)
{
return p == 0;
}
}
# 26 "../../include/OB/CORBAClient.h" 2
# 15 "../../include/OB/CORBAServer.h" 2
# 1 "../../include/OB/PortableServer.h" 1
# 27 "../../include/OB/PortableServer.h"
# 1 "../../include/OB/POACommon.h" 1
# 27 "../../include/OB/POACommon.h"
# 1 "../../include/OB/POACommon_fwd.h" 1
# 18 "../../include/OB/POACommon_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 19 "../../include/OB/POACommon_fwd.h" 2
# 39 "../../include/OB/POACommon_fwd.h"
namespace PortableServer
{
}
namespace PortableServer
{
}
# 28 "../../include/OB/POACommon.h" 2
# 39 "../../include/OB/POACommon.h"
namespace OBStubImpl_PortableServer
{
}
namespace OBStubImpl_PortableServer
{
}
namespace PortableServer
{
typedef OBNative_PortableServer::Servant Servant;
class OBUnique_ObjectId { };
typedef OB::FixSeq< CORBA::Octet, OBUnique_ObjectId > ObjectId;
typedef OB::SeqVar< OB::FixSeq< CORBA::Octet, OBUnique_ObjectId > > ObjectId_var;
typedef OB::SeqOut< OB::FixSeq< CORBA::Octet, OBUnique_ObjectId > > ObjectId_out;
extern OB::TypeCodeConst _tc_ObjectId;
struct OBInfo_ObjectId : public OB::ConstructedInfo
{
OBInfo_ObjectId() { }
virtual void free(void* p) const
{
delete (ObjectId*)p;
}
virtual void* dup(const void* p) const
{
return new ObjectId(*(const ObjectId*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
struct ForwardRequest : public CORBA::UserException
{
ForwardRequest() { }
ForwardRequest(const ForwardRequest&);
ForwardRequest& operator=(const ForwardRequest&);
static ForwardRequest* _downcast(CORBA::Exception*);
static const ForwardRequest* _downcast(const CORBA::Exception*);
virtual const char* _name() const;
virtual void _raise() const { throw *this; }
virtual const char* _rep_id() const;
virtual char* _to_string() const;
virtual CORBA::Exception* _OB_clone() const;
virtual void _OB_insertInAny(CORBA::Any&);
CORBA::Object_var forward_reference;
ForwardRequest(CORBA::Object_ptr);
virtual void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(ForwardRequest&, OB::InputStreamImpl*);
};
extern OB::TypeCodeConst _tc_ForwardRequest;
}
namespace OBProxy_PortableServer
{
}
namespace OBStubImpl_PortableServer
{
}
namespace OBMarshalStubImpl_PortableServer
{
}
namespace OBV_PortableServer
{
}
void operator<<=(CORBA::Any&, PortableServer::ObjectId*);
void operator<<=(CORBA::Any&, const PortableServer::ObjectId&);
CORBA::Boolean operator>>=(const CORBA::Any&, const PortableServer::ObjectId*&);
inline void
operator<<=(CORBA::Any_var& any, PortableServer::ObjectId* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const PortableServer::ObjectId& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const PortableServer::ObjectId*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, PortableServer::ForwardRequest*);
void operator<<=(CORBA::Any&, const PortableServer::ForwardRequest&);
CORBA::Boolean operator>>=(const CORBA::Any&, const PortableServer::ForwardRequest*&);
inline void
operator<<=(CORBA::Any_var& any, PortableServer::ForwardRequest* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const PortableServer::ForwardRequest& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const PortableServer::ForwardRequest*& val)
{
return any.in() >>= val;
}
# 28 "../../include/OB/PortableServer.h" 2
# 1 "../../include/OB/POAServantLocator.h" 1
# 27 "../../include/OB/POAServantLocator.h"
# 1 "../../include/OB/POAServantManager.h" 1
# 27 "../../include/OB/POAServantManager.h"
# 1 "../../include/OB/POAServantManager_fwd.h" 1
# 18 "../../include/OB/POAServantManager_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 19 "../../include/OB/POAServantManager_fwd.h" 2
# 39 "../../include/OB/POAServantManager_fwd.h"
namespace PortableServer
{
class ServantManager;
typedef ServantManager* ServantManager_ptr;
typedef ServantManager* ServantManagerRef;
}
void OBDuplicate(PortableServer::ServantManager_ptr);
void OBRelease(PortableServer::ServantManager_ptr);
void OBMarshal(PortableServer::ServantManager_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(PortableServer::ServantManager_ptr&, OB::InputStreamImpl*);
namespace PortableServer
{
typedef OB::ObjVar< ServantManager > ServantManager_var;
typedef OB::ObjOut< ServantManager > ServantManager_out;
}
# 28 "../../include/OB/POAServantManager.h" 2
# 39 "../../include/OB/POAServantManager.h"
namespace OBStubImpl_PortableServer
{
}
namespace OBStubImpl_PortableServer
{
}
namespace PortableServer
{
class ServantManager : virtual public CORBA::Object
{
ServantManager(const ServantManager&);
void operator=(const ServantManager&);
protected:
static const char* ids_[];
public:
ServantManager() { }
virtual ~ServantManager() { }
typedef ServantManager_ptr _ptr_type;
typedef ServantManager_var _var_type;
static inline ServantManager_ptr
_duplicate(ServantManager_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline ServantManager_ptr
_nil()
{
return 0;
}
static ServantManager_ptr _narrow(CORBA::Object_ptr);
static ServantManager_ptr _narrow(CORBA::AbstractBase_ptr);
};
}
namespace OBProxy_PortableServer
{
}
namespace OBStubImpl_PortableServer
{
}
namespace OBMarshalStubImpl_PortableServer
{
}
namespace OBV_PortableServer
{
}
namespace CORBA
{
inline void
release(::PortableServer::ServantManager_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::PortableServer::ServantManager_ptr p)
{
return p == 0;
}
}
# 28 "../../include/OB/POAServantLocator.h" 2
# 1 "../../include/OB/POACommon.h" 1
# 29 "../../include/OB/POAServantLocator.h" 2
# 1 "../../include/OB/POAServantLocator_fwd.h" 1
# 18 "../../include/OB/POAServantLocator_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 19 "../../include/OB/POAServantLocator_fwd.h" 2
# 39 "../../include/OB/POAServantLocator_fwd.h"
namespace PortableServer
{
class POA;
typedef POA* POA_ptr;
typedef POA* POARef;
class ServantLocator;
typedef ServantLocator* ServantLocator_ptr;
typedef ServantLocator* ServantLocatorRef;
}
void OBDuplicate(PortableServer::POA_ptr);
void OBRelease(PortableServer::POA_ptr);
void OBMarshal(PortableServer::POA_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(PortableServer::POA_ptr&, OB::InputStreamImpl*);
void OBDuplicate(PortableServer::ServantLocator_ptr);
void OBRelease(PortableServer::ServantLocator_ptr);
void OBMarshal(PortableServer::ServantLocator_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(PortableServer::ServantLocator_ptr&, OB::InputStreamImpl*);
namespace PortableServer
{
typedef OB::ObjVar< POA > POA_var;
typedef OB::ObjOut< POA > POA_out;
typedef OB::ObjVar< ServantLocator > ServantLocator_var;
typedef OB::ObjOut< ServantLocator > ServantLocator_out;
}
# 30 "../../include/OB/POAServantLocator.h" 2
# 41 "../../include/OB/POAServantLocator.h"
namespace OBStubImpl_PortableServer
{
}
namespace OBStubImpl_PortableServer
{
}
namespace PortableServer
{
class ServantLocator : virtual public ::PortableServer::ServantManager
{
ServantLocator(const ServantLocator&);
void operator=(const ServantLocator&);
protected:
static const char* ids_[];
public:
ServantLocator() { }
virtual ~ServantLocator() { }
typedef ServantLocator_ptr _ptr_type;
typedef ServantLocator_var _var_type;
static inline ServantLocator_ptr
_duplicate(ServantLocator_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline ServantLocator_ptr
_nil()
{
return 0;
}
static ServantLocator_ptr _narrow(CORBA::Object_ptr);
static ServantLocator_ptr _narrow(CORBA::AbstractBase_ptr);
typedef OBNative_PortableServer::ServantLocator::Cookie Cookie;
virtual Servant preinvoke(const ObjectId& oid,
POA_ptr adapter,
const char* operation,
Cookie& the_cookie) = 0;
virtual void postinvoke(const ObjectId& oid,
POA_ptr adapter,
const char* operation,
Cookie the_cookie,
Servant the_servant) = 0;
};
}
namespace OBProxy_PortableServer
{
}
namespace OBStubImpl_PortableServer
{
}
namespace OBMarshalStubImpl_PortableServer
{
}
namespace OBV_PortableServer
{
}
namespace CORBA
{
inline void
release(::PortableServer::ServantLocator_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::PortableServer::ServantLocator_ptr p)
{
return p == 0;
}
}
# 29 "../../include/OB/PortableServer.h" 2
# 1 "../../include/OB/POAServantActivator.h" 1
# 27 "../../include/OB/POAServantActivator.h"
# 1 "../../include/OB/POAServantManager.h" 1
# 28 "../../include/OB/POAServantActivator.h" 2
# 1 "../../include/OB/POACommon.h" 1
# 29 "../../include/OB/POAServantActivator.h" 2
# 1 "../../include/OB/POAServantActivator_fwd.h" 1
# 18 "../../include/OB/POAServantActivator_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 19 "../../include/OB/POAServantActivator_fwd.h" 2
# 39 "../../include/OB/POAServantActivator_fwd.h"
namespace PortableServer
{
class POA;
typedef POA* POA_ptr;
typedef POA* POARef;
class ServantActivator;
typedef ServantActivator* ServantActivator_ptr;
typedef ServantActivator* ServantActivatorRef;
}
void OBDuplicate(PortableServer::POA_ptr);
void OBRelease(PortableServer::POA_ptr);
void OBMarshal(PortableServer::POA_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(PortableServer::POA_ptr&, OB::InputStreamImpl*);
void OBDuplicate(PortableServer::ServantActivator_ptr);
void OBRelease(PortableServer::ServantActivator_ptr);
void OBMarshal(PortableServer::ServantActivator_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(PortableServer::ServantActivator_ptr&, OB::InputStreamImpl*);
namespace PortableServer
{
typedef OB::ObjVar< POA > POA_var;
typedef OB::ObjOut< POA > POA_out;
typedef OB::ObjVar< ServantActivator > ServantActivator_var;
typedef OB::ObjOut< ServantActivator > ServantActivator_out;
}
# 30 "../../include/OB/POAServantActivator.h" 2
# 41 "../../include/OB/POAServantActivator.h"
namespace OBStubImpl_PortableServer
{
}
namespace OBStubImpl_PortableServer
{
}
namespace PortableServer
{
class ServantActivator : virtual public ::PortableServer::ServantManager
{
ServantActivator(const ServantActivator&);
void operator=(const ServantActivator&);
protected:
static const char* ids_[];
public:
ServantActivator() { }
virtual ~ServantActivator() { }
typedef ServantActivator_ptr _ptr_type;
typedef ServantActivator_var _var_type;
static inline ServantActivator_ptr
_duplicate(ServantActivator_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline ServantActivator_ptr
_nil()
{
return 0;
}
static ServantActivator_ptr _narrow(CORBA::Object_ptr);
static ServantActivator_ptr _narrow(CORBA::AbstractBase_ptr);
virtual Servant incarnate(const ObjectId& oid,
POA_ptr adapter) = 0;
virtual void etherealize(const ObjectId& oid,
POA_ptr adapter,
Servant serv,
CORBA::Boolean cleanup_in_progress,
CORBA::Boolean remaining_activations) = 0;
};
}
namespace OBProxy_PortableServer
{
}
namespace OBStubImpl_PortableServer
{
}
namespace OBMarshalStubImpl_PortableServer
{
}
namespace OBV_PortableServer
{
}
namespace CORBA
{
inline void
release(::PortableServer::ServantActivator_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::PortableServer::ServantActivator_ptr p)
{
return p == 0;
}
}
# 30 "../../include/OB/PortableServer.h" 2
# 1 "../../include/OB/POAAdapterActivator.h" 1
# 27 "../../include/OB/POAAdapterActivator.h"
# 1 "../../include/OB/POAAdapterActivator_fwd.h" 1
# 18 "../../include/OB/POAAdapterActivator_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 19 "../../include/OB/POAAdapterActivator_fwd.h" 2
# 39 "../../include/OB/POAAdapterActivator_fwd.h"
namespace PortableServer
{
class POA;
typedef POA* POA_ptr;
typedef POA* POARef;
extern OB::TypeCodeConst _tc_POA;
class AdapterActivator;
typedef AdapterActivator* AdapterActivator_ptr;
typedef AdapterActivator* AdapterActivatorRef;
extern OB::TypeCodeConst _tc_AdapterActivator;
}
void OBDuplicate(PortableServer::POA_ptr);
void OBRelease(PortableServer::POA_ptr);
void OBMarshal(PortableServer::POA_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(PortableServer::POA_ptr&, OB::InputStreamImpl*);
void OBDuplicate(PortableServer::AdapterActivator_ptr);
void OBRelease(PortableServer::AdapterActivator_ptr);
void OBMarshal(PortableServer::AdapterActivator_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(PortableServer::AdapterActivator_ptr&, OB::InputStreamImpl*);
namespace PortableServer
{
typedef OB::ObjVar< POA > POA_var;
typedef OB::ObjOut< POA > POA_out;
typedef OB::ObjVar< AdapterActivator > AdapterActivator_var;
typedef OB::ObjOut< AdapterActivator > AdapterActivator_out;
}
# 28 "../../include/OB/POAAdapterActivator.h" 2
# 39 "../../include/OB/POAAdapterActivator.h"
namespace OBStubImpl_PortableServer
{
}
namespace OBStubImpl_PortableServer
{
}
namespace PortableServer
{
class AdapterActivator : virtual public CORBA::Object
{
AdapterActivator(const AdapterActivator&);
void operator=(const AdapterActivator&);
protected:
static const char* ids_[];
public:
AdapterActivator() { }
virtual ~AdapterActivator() { }
typedef AdapterActivator_ptr _ptr_type;
typedef AdapterActivator_var _var_type;
static inline AdapterActivator_ptr
_duplicate(AdapterActivator_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline AdapterActivator_ptr
_nil()
{
return 0;
}
static AdapterActivator_ptr _narrow(CORBA::Object_ptr);
static AdapterActivator_ptr _narrow(CORBA::AbstractBase_ptr);
virtual CORBA::Boolean unknown_adapter(POA_ptr parent,
const char* name) = 0;
};
}
namespace OBProxy_PortableServer
{
}
namespace OBStubImpl_PortableServer
{
}
namespace OBMarshalStubImpl_PortableServer
{
}
namespace OBV_PortableServer
{
}
namespace CORBA
{
inline void
release(::PortableServer::AdapterActivator_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::PortableServer::AdapterActivator_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, PortableServer::AdapterActivator_ptr*);
void operator<<=(CORBA::Any&, PortableServer::AdapterActivator_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, PortableServer::AdapterActivator_ptr&);
inline void
operator<<=(CORBA::Any_var& any, PortableServer::AdapterActivator_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, PortableServer::AdapterActivator_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, PortableServer::AdapterActivator_ptr& val)
{
return any.in() >>= val;
}
# 31 "../../include/OB/PortableServer.h" 2
# 1 "../../include/OB/POAInterface.h" 1
# 27 "../../include/OB/POAInterface.h"
# 1 "../../include/OB/POAPolicies.h" 1
# 27 "../../include/OB/POAPolicies.h"
# 1 "../../include/OB/Policy.h" 1
# 27 "../../include/OB/Policy.h"
# 1 "../../include/OB/Policy_fwd.h" 1
# 28 "../../include/OB/Policy.h" 2
# 39 "../../include/OB/Policy.h"
namespace OBStubImpl_CORBA
{
}
namespace OBStubImpl_CORBA
{
}
namespace CORBA
{
typedef CORBA::ULong PolicyType;
typedef CORBA::ULong_out PolicyType_out;
extern OB::TypeCodeConst _tc_PolicyType;
class OBUnique_PolicyTypeSeq { };
typedef OB::FixSeq< CORBA::ULong, OBUnique_PolicyTypeSeq > PolicyTypeSeq;
typedef OB::SeqVar< OB::FixSeq< CORBA::ULong, OBUnique_PolicyTypeSeq > > PolicyTypeSeq_var;
typedef OB::SeqOut< OB::FixSeq< CORBA::ULong, OBUnique_PolicyTypeSeq > > PolicyTypeSeq_out;
extern OB::TypeCodeConst _tc_PolicyTypeSeq;
struct OBInfo_PolicyTypeSeq : public OB::ConstructedInfo
{
OBInfo_PolicyTypeSeq() { }
virtual void free(void* p) const
{
delete (PolicyTypeSeq*)p;
}
virtual void* dup(const void* p) const
{
return new PolicyTypeSeq(*(const PolicyTypeSeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
class Policy : virtual public CORBA::Object
{
Policy(const Policy&);
void operator=(const Policy&);
protected:
static const char* ids_[];
public:
Policy() { }
virtual ~Policy() { }
typedef Policy_ptr _ptr_type;
typedef Policy_var _var_type;
static inline Policy_ptr
_duplicate(Policy_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline Policy_ptr
_nil()
{
return 0;
}
static Policy_ptr _narrow(CORBA::Object_ptr);
static Policy_ptr _narrow(CORBA::AbstractBase_ptr);
virtual PolicyType policy_type() = 0;
virtual Policy_ptr copy() = 0;
virtual void destroy() = 0;
};
class OBUnique_PolicyList { };
typedef OB::ObjSeq< Policy, OBUnique_PolicyList > PolicyList;
typedef OB::SeqVar< OB::ObjSeq< Policy, OBUnique_PolicyList > > PolicyList_var;
typedef OB::SeqOut< OB::ObjSeq< Policy, OBUnique_PolicyList > > PolicyList_out;
extern OB::TypeCodeConst _tc_PolicyList;
struct OBInfo_PolicyList : public OB::ConstructedInfo
{
OBInfo_PolicyList() { }
virtual void free(void* p) const
{
delete (PolicyList*)p;
}
virtual void* dup(const void* p) const
{
return new PolicyList(*(const PolicyList*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
typedef CORBA::Short PolicyErrorCode;
typedef CORBA::Short_out PolicyErrorCode_out;
extern OB::TypeCodeConst _tc_PolicyErrorCode;
const PolicyErrorCode BAD_POLICY = 0;
const PolicyErrorCode UNSUPPORTED_POLICY = 1;
const PolicyErrorCode BAD_POLICY_TYPE = 2;
const PolicyErrorCode BAD_POLICY_VALUE = 3;
const PolicyErrorCode UNSUPPORTED_POLICY_VALUE = 4;
struct PolicyError : public CORBA::UserException
{
PolicyError() { }
PolicyError(const PolicyError&);
PolicyError& operator=(const PolicyError&);
static PolicyError* _downcast(CORBA::Exception*);
static const PolicyError* _downcast(const CORBA::Exception*);
virtual const char* _name() const;
virtual void _raise() const { throw *this; }
virtual const char* _rep_id() const;
virtual char* _to_string() const;
virtual CORBA::Exception* _OB_clone() const;
virtual void _OB_insertInAny(CORBA::Any&);
PolicyErrorCode reason;
PolicyError(PolicyErrorCode);
virtual void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(PolicyError&, OB::InputStreamImpl*);
};
extern OB::TypeCodeConst _tc_PolicyError;
class PolicyManager : virtual public CORBA::Object
{
PolicyManager(const PolicyManager&);
void operator=(const PolicyManager&);
protected:
static const char* ids_[];
public:
PolicyManager() { }
virtual ~PolicyManager() { }
typedef PolicyManager_ptr _ptr_type;
typedef PolicyManager_var _var_type;
static inline PolicyManager_ptr
_duplicate(PolicyManager_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline PolicyManager_ptr
_nil()
{
return 0;
}
static PolicyManager_ptr _narrow(CORBA::Object_ptr);
static PolicyManager_ptr _narrow(CORBA::AbstractBase_ptr);
struct InvalidPolicies : public CORBA::UserException
{
InvalidPolicies() { }
InvalidPolicies(const InvalidPolicies&);
InvalidPolicies& operator=(const InvalidPolicies&);
static InvalidPolicies* _downcast(CORBA::Exception*);
static const InvalidPolicies* _downcast(const CORBA::Exception*);
virtual const char* _name() const;
virtual void _raise() const { throw *this; }
virtual const char* _rep_id() const;
virtual char* _to_string() const;
virtual CORBA::Exception* _OB_clone() const;
virtual void _OB_insertInAny(CORBA::Any&);
class OBUnique_indices { };
typedef OB::FixSeq< CORBA::UShort, OBUnique_indices > _indices_seq;
_indices_seq indices;
InvalidPolicies(const OB::FixSeq< CORBA::UShort, OBUnique_indices >&);
virtual void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(InvalidPolicies&, OB::InputStreamImpl*);
};
static OB::TypeCodeConst _tc_InvalidPolicies;
virtual Policy_ptr get_policy_override(PolicyType t) = 0;
virtual PolicyList* get_specific_policy_overrides(const PolicyTypeSeq& ts) = 0;
virtual PolicyList* get_all_policy_overrides() = 0;
virtual void add_policy_overrides(const PolicyList& policies) = 0;
virtual void remove_policy_overrides(const PolicyTypeSeq& ts) = 0;
virtual void replace_all_policy_overrides(const PolicyList& policies) = 0;
};
}
namespace OBProxy_CORBA
{
}
namespace OBStubImpl_CORBA
{
}
namespace OBMarshalStubImpl_CORBA
{
}
namespace OBV_CORBA
{
}
void operator<<=(CORBA::Any&, CORBA::PolicyTypeSeq*);
void operator<<=(CORBA::Any&, const CORBA::PolicyTypeSeq&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::PolicyTypeSeq*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::PolicyTypeSeq* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::PolicyTypeSeq& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::PolicyTypeSeq*& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::CORBA::Policy_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::CORBA::Policy_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, CORBA::Policy_ptr*);
void operator<<=(CORBA::Any&, CORBA::Policy_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::Policy_ptr&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::Policy_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, CORBA::Policy_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::Policy_ptr& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::PolicyList*);
void operator<<=(CORBA::Any&, const CORBA::PolicyList&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::PolicyList*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::PolicyList* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::PolicyList& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::PolicyList*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::PolicyError*);
void operator<<=(CORBA::Any&, const CORBA::PolicyError&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::PolicyError*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::PolicyError* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::PolicyError& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::PolicyError*& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::CORBA::PolicyManager_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::CORBA::PolicyManager_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, CORBA::PolicyManager_ptr*);
void operator<<=(CORBA::Any&, CORBA::PolicyManager_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::PolicyManager_ptr&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::PolicyManager_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, CORBA::PolicyManager_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::PolicyManager_ptr& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::PolicyManager::InvalidPolicies*);
void operator<<=(CORBA::Any&, const CORBA::PolicyManager::InvalidPolicies&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::PolicyManager::InvalidPolicies*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::PolicyManager::InvalidPolicies* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::PolicyManager::InvalidPolicies& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::PolicyManager::InvalidPolicies*& val)
{
return any.in() >>= val;
}
# 28 "../../include/OB/POAPolicies.h" 2
# 1 "../../include/OB/POAPolicies_fwd.h" 1
# 18 "../../include/OB/POAPolicies_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 19 "../../include/OB/POAPolicies_fwd.h" 2
# 39 "../../include/OB/POAPolicies_fwd.h"
namespace PortableServer
{
class ThreadPolicy;
typedef ThreadPolicy* ThreadPolicy_ptr;
typedef ThreadPolicy* ThreadPolicyRef;
extern OB::TypeCodeConst _tc_ThreadPolicy;
class LifespanPolicy;
typedef LifespanPolicy* LifespanPolicy_ptr;
typedef LifespanPolicy* LifespanPolicyRef;
extern OB::TypeCodeConst _tc_LifespanPolicy;
class IdUniquenessPolicy;
typedef IdUniquenessPolicy* IdUniquenessPolicy_ptr;
typedef IdUniquenessPolicy* IdUniquenessPolicyRef;
extern OB::TypeCodeConst _tc_IdUniquenessPolicy;
class IdAssignmentPolicy;
typedef IdAssignmentPolicy* IdAssignmentPolicy_ptr;
typedef IdAssignmentPolicy* IdAssignmentPolicyRef;
extern OB::TypeCodeConst _tc_IdAssignmentPolicy;
class ImplicitActivationPolicy;
typedef ImplicitActivationPolicy* ImplicitActivationPolicy_ptr;
typedef ImplicitActivationPolicy* ImplicitActivationPolicyRef;
extern OB::TypeCodeConst _tc_ImplicitActivationPolicy;
class ServantRetentionPolicy;
typedef ServantRetentionPolicy* ServantRetentionPolicy_ptr;
typedef ServantRetentionPolicy* ServantRetentionPolicyRef;
extern OB::TypeCodeConst _tc_ServantRetentionPolicy;
class RequestProcessingPolicy;
typedef RequestProcessingPolicy* RequestProcessingPolicy_ptr;
typedef RequestProcessingPolicy* RequestProcessingPolicyRef;
extern OB::TypeCodeConst _tc_RequestProcessingPolicy;
}
void OBDuplicate(PortableServer::ThreadPolicy_ptr);
void OBRelease(PortableServer::ThreadPolicy_ptr);
void OBMarshal(PortableServer::ThreadPolicy_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(PortableServer::ThreadPolicy_ptr&, OB::InputStreamImpl*);
void OBDuplicate(PortableServer::LifespanPolicy_ptr);
void OBRelease(PortableServer::LifespanPolicy_ptr);
void OBMarshal(PortableServer::LifespanPolicy_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(PortableServer::LifespanPolicy_ptr&, OB::InputStreamImpl*);
void OBDuplicate(PortableServer::IdUniquenessPolicy_ptr);
void OBRelease(PortableServer::IdUniquenessPolicy_ptr);
void OBMarshal(PortableServer::IdUniquenessPolicy_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(PortableServer::IdUniquenessPolicy_ptr&, OB::InputStreamImpl*);
void OBDuplicate(PortableServer::IdAssignmentPolicy_ptr);
void OBRelease(PortableServer::IdAssignmentPolicy_ptr);
void OBMarshal(PortableServer::IdAssignmentPolicy_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(PortableServer::IdAssignmentPolicy_ptr&, OB::InputStreamImpl*);
void OBDuplicate(PortableServer::ImplicitActivationPolicy_ptr);
void OBRelease(PortableServer::ImplicitActivationPolicy_ptr);
void OBMarshal(PortableServer::ImplicitActivationPolicy_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(PortableServer::ImplicitActivationPolicy_ptr&, OB::InputStreamImpl*);
void OBDuplicate(PortableServer::ServantRetentionPolicy_ptr);
void OBRelease(PortableServer::ServantRetentionPolicy_ptr);
void OBMarshal(PortableServer::ServantRetentionPolicy_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(PortableServer::ServantRetentionPolicy_ptr&, OB::InputStreamImpl*);
void OBDuplicate(PortableServer::RequestProcessingPolicy_ptr);
void OBRelease(PortableServer::RequestProcessingPolicy_ptr);
void OBMarshal(PortableServer::RequestProcessingPolicy_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(PortableServer::RequestProcessingPolicy_ptr&, OB::InputStreamImpl*);
namespace PortableServer
{
typedef OB::ObjVar< ThreadPolicy > ThreadPolicy_var;
typedef OB::ObjOut< ThreadPolicy > ThreadPolicy_out;
typedef OB::ObjVar< LifespanPolicy > LifespanPolicy_var;
typedef OB::ObjOut< LifespanPolicy > LifespanPolicy_out;
typedef OB::ObjVar< IdUniquenessPolicy > IdUniquenessPolicy_var;
typedef OB::ObjOut< IdUniquenessPolicy > IdUniquenessPolicy_out;
typedef OB::ObjVar< IdAssignmentPolicy > IdAssignmentPolicy_var;
typedef OB::ObjOut< IdAssignmentPolicy > IdAssignmentPolicy_out;
typedef OB::ObjVar< ImplicitActivationPolicy > ImplicitActivationPolicy_var;
typedef OB::ObjOut< ImplicitActivationPolicy > ImplicitActivationPolicy_out;
typedef OB::ObjVar< ServantRetentionPolicy > ServantRetentionPolicy_var;
typedef OB::ObjOut< ServantRetentionPolicy > ServantRetentionPolicy_out;
typedef OB::ObjVar< RequestProcessingPolicy > RequestProcessingPolicy_var;
typedef OB::ObjOut< RequestProcessingPolicy > RequestProcessingPolicy_out;
}
# 29 "../../include/OB/POAPolicies.h" 2
# 40 "../../include/OB/POAPolicies.h"
namespace OBStubImpl_PortableServer
{
}
namespace OBStubImpl_PortableServer
{
}
namespace PortableServer
{
const ::CORBA::PolicyType THREAD_POLICY_ID = 16U;
const ::CORBA::PolicyType LIFESPAN_POLICY_ID = 17U;
const ::CORBA::PolicyType ID_UNIQUENESS_POLICY_ID = 18U;
const ::CORBA::PolicyType ID_ASSIGNMENT_POLICY_ID = 19U;
const ::CORBA::PolicyType IMPLICIT_ACTIVATION_POLICY_ID = 20U;
const ::CORBA::PolicyType SERVANT_RETENTION_POLICY_ID = 21U;
const ::CORBA::PolicyType REQUEST_PROCESSING_POLICY_ID = 22U;
enum ThreadPolicyValue
{
ORB_CTRL_MODEL,
SINGLE_THREAD_MODEL
};
typedef ThreadPolicyValue& ThreadPolicyValue_out;
extern OB::TypeCodeConst _tc_ThreadPolicyValue;
enum LifespanPolicyValue
{
TRANSIENT,
PERSISTENT
};
typedef LifespanPolicyValue& LifespanPolicyValue_out;
extern OB::TypeCodeConst _tc_LifespanPolicyValue;
enum IdUniquenessPolicyValue
{
UNIQUE_ID,
MULTIPLE_ID
};
typedef IdUniquenessPolicyValue& IdUniquenessPolicyValue_out;
extern OB::TypeCodeConst _tc_IdUniquenessPolicyValue;
enum IdAssignmentPolicyValue
{
USER_ID,
SYSTEM_ID
};
typedef IdAssignmentPolicyValue& IdAssignmentPolicyValue_out;
extern OB::TypeCodeConst _tc_IdAssignmentPolicyValue;
enum ImplicitActivationPolicyValue
{
IMPLICIT_ACTIVATION,
NO_IMPLICIT_ACTIVATION
};
typedef ImplicitActivationPolicyValue& ImplicitActivationPolicyValue_out;
extern OB::TypeCodeConst _tc_ImplicitActivationPolicyValue;
enum ServantRetentionPolicyValue
{
RETAIN,
NON_RETAIN
};
typedef ServantRetentionPolicyValue& ServantRetentionPolicyValue_out;
extern OB::TypeCodeConst _tc_ServantRetentionPolicyValue;
enum RequestProcessingPolicyValue
{
USE_ACTIVE_OBJECT_MAP_ONLY,
USE_DEFAULT_SERVANT,
USE_SERVANT_MANAGER
};
typedef RequestProcessingPolicyValue& RequestProcessingPolicyValue_out;
extern OB::TypeCodeConst _tc_RequestProcessingPolicyValue;
class ThreadPolicy : virtual public ::CORBA::Policy
{
ThreadPolicy(const ThreadPolicy&);
void operator=(const ThreadPolicy&);
protected:
static const char* ids_[];
public:
ThreadPolicy() { }
virtual ~ThreadPolicy() { }
typedef ThreadPolicy_ptr _ptr_type;
typedef ThreadPolicy_var _var_type;
static inline ThreadPolicy_ptr
_duplicate(ThreadPolicy_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline ThreadPolicy_ptr
_nil()
{
return 0;
}
static ThreadPolicy_ptr _narrow(CORBA::Object_ptr);
static ThreadPolicy_ptr _narrow(CORBA::AbstractBase_ptr);
virtual ThreadPolicyValue value() = 0;
};
class LifespanPolicy : virtual public ::CORBA::Policy
{
LifespanPolicy(const LifespanPolicy&);
void operator=(const LifespanPolicy&);
protected:
static const char* ids_[];
public:
LifespanPolicy() { }
virtual ~LifespanPolicy() { }
typedef LifespanPolicy_ptr _ptr_type;
typedef LifespanPolicy_var _var_type;
static inline LifespanPolicy_ptr
_duplicate(LifespanPolicy_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline LifespanPolicy_ptr
_nil()
{
return 0;
}
static LifespanPolicy_ptr _narrow(CORBA::Object_ptr);
static LifespanPolicy_ptr _narrow(CORBA::AbstractBase_ptr);
virtual LifespanPolicyValue value() = 0;
};
class IdUniquenessPolicy : virtual public ::CORBA::Policy
{
IdUniquenessPolicy(const IdUniquenessPolicy&);
void operator=(const IdUniquenessPolicy&);
protected:
static const char* ids_[];
public:
IdUniquenessPolicy() { }
virtual ~IdUniquenessPolicy() { }
typedef IdUniquenessPolicy_ptr _ptr_type;
typedef IdUniquenessPolicy_var _var_type;
static inline IdUniquenessPolicy_ptr
_duplicate(IdUniquenessPolicy_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline IdUniquenessPolicy_ptr
_nil()
{
return 0;
}
static IdUniquenessPolicy_ptr _narrow(CORBA::Object_ptr);
static IdUniquenessPolicy_ptr _narrow(CORBA::AbstractBase_ptr);
virtual IdUniquenessPolicyValue value() = 0;
};
class IdAssignmentPolicy : virtual public ::CORBA::Policy
{
IdAssignmentPolicy(const IdAssignmentPolicy&);
void operator=(const IdAssignmentPolicy&);
protected:
static const char* ids_[];
public:
IdAssignmentPolicy() { }
virtual ~IdAssignmentPolicy() { }
typedef IdAssignmentPolicy_ptr _ptr_type;
typedef IdAssignmentPolicy_var _var_type;
static inline IdAssignmentPolicy_ptr
_duplicate(IdAssignmentPolicy_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline IdAssignmentPolicy_ptr
_nil()
{
return 0;
}
static IdAssignmentPolicy_ptr _narrow(CORBA::Object_ptr);
static IdAssignmentPolicy_ptr _narrow(CORBA::AbstractBase_ptr);
virtual IdAssignmentPolicyValue value() = 0;
};
class ImplicitActivationPolicy : virtual public ::CORBA::Policy
{
ImplicitActivationPolicy(const ImplicitActivationPolicy&);
void operator=(const ImplicitActivationPolicy&);
protected:
static const char* ids_[];
public:
ImplicitActivationPolicy() { }
virtual ~ImplicitActivationPolicy() { }
typedef ImplicitActivationPolicy_ptr _ptr_type;
typedef ImplicitActivationPolicy_var _var_type;
static inline ImplicitActivationPolicy_ptr
_duplicate(ImplicitActivationPolicy_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline ImplicitActivationPolicy_ptr
_nil()
{
return 0;
}
static ImplicitActivationPolicy_ptr _narrow(CORBA::Object_ptr);
static ImplicitActivationPolicy_ptr _narrow(CORBA::AbstractBase_ptr);
virtual ImplicitActivationPolicyValue value() = 0;
};
class ServantRetentionPolicy : virtual public ::CORBA::Policy
{
ServantRetentionPolicy(const ServantRetentionPolicy&);
void operator=(const ServantRetentionPolicy&);
protected:
static const char* ids_[];
public:
ServantRetentionPolicy() { }
virtual ~ServantRetentionPolicy() { }
typedef ServantRetentionPolicy_ptr _ptr_type;
typedef ServantRetentionPolicy_var _var_type;
static inline ServantRetentionPolicy_ptr
_duplicate(ServantRetentionPolicy_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline ServantRetentionPolicy_ptr
_nil()
{
return 0;
}
static ServantRetentionPolicy_ptr _narrow(CORBA::Object_ptr);
static ServantRetentionPolicy_ptr _narrow(CORBA::AbstractBase_ptr);
virtual ServantRetentionPolicyValue value() = 0;
};
class RequestProcessingPolicy : virtual public ::CORBA::Policy
{
RequestProcessingPolicy(const RequestProcessingPolicy&);
void operator=(const RequestProcessingPolicy&);
protected:
static const char* ids_[];
public:
RequestProcessingPolicy() { }
virtual ~RequestProcessingPolicy() { }
typedef RequestProcessingPolicy_ptr _ptr_type;
typedef RequestProcessingPolicy_var _var_type;
static inline RequestProcessingPolicy_ptr
_duplicate(RequestProcessingPolicy_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline RequestProcessingPolicy_ptr
_nil()
{
return 0;
}
static RequestProcessingPolicy_ptr _narrow(CORBA::Object_ptr);
static RequestProcessingPolicy_ptr _narrow(CORBA::AbstractBase_ptr);
virtual RequestProcessingPolicyValue value() = 0;
};
}
namespace OBProxy_PortableServer
{
}
namespace OBStubImpl_PortableServer
{
}
namespace OBMarshalStubImpl_PortableServer
{
}
namespace OBV_PortableServer
{
}
void operator<<=(CORBA::Any&, PortableServer::ThreadPolicyValue);
CORBA::Boolean operator>>=(const CORBA::Any&, PortableServer::ThreadPolicyValue&);
inline void
operator<<=(CORBA::Any_var& any, PortableServer::ThreadPolicyValue val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, PortableServer::ThreadPolicyValue& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, PortableServer::LifespanPolicyValue);
CORBA::Boolean operator>>=(const CORBA::Any&, PortableServer::LifespanPolicyValue&);
inline void
operator<<=(CORBA::Any_var& any, PortableServer::LifespanPolicyValue val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, PortableServer::LifespanPolicyValue& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, PortableServer::IdUniquenessPolicyValue);
CORBA::Boolean operator>>=(const CORBA::Any&, PortableServer::IdUniquenessPolicyValue&);
inline void
operator<<=(CORBA::Any_var& any, PortableServer::IdUniquenessPolicyValue val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, PortableServer::IdUniquenessPolicyValue& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, PortableServer::IdAssignmentPolicyValue);
CORBA::Boolean operator>>=(const CORBA::Any&, PortableServer::IdAssignmentPolicyValue&);
inline void
operator<<=(CORBA::Any_var& any, PortableServer::IdAssignmentPolicyValue val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, PortableServer::IdAssignmentPolicyValue& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, PortableServer::ImplicitActivationPolicyValue);
CORBA::Boolean operator>>=(const CORBA::Any&, PortableServer::ImplicitActivationPolicyValue&);
inline void
operator<<=(CORBA::Any_var& any, PortableServer::ImplicitActivationPolicyValue val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, PortableServer::ImplicitActivationPolicyValue& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, PortableServer::ServantRetentionPolicyValue);
CORBA::Boolean operator>>=(const CORBA::Any&, PortableServer::ServantRetentionPolicyValue&);
inline void
operator<<=(CORBA::Any_var& any, PortableServer::ServantRetentionPolicyValue val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, PortableServer::ServantRetentionPolicyValue& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, PortableServer::RequestProcessingPolicyValue);
CORBA::Boolean operator>>=(const CORBA::Any&, PortableServer::RequestProcessingPolicyValue&);
inline void
operator<<=(CORBA::Any_var& any, PortableServer::RequestProcessingPolicyValue val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, PortableServer::RequestProcessingPolicyValue& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::PortableServer::ThreadPolicy_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::PortableServer::ThreadPolicy_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, PortableServer::ThreadPolicy_ptr*);
void operator<<=(CORBA::Any&, PortableServer::ThreadPolicy_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, PortableServer::ThreadPolicy_ptr&);
inline void
operator<<=(CORBA::Any_var& any, PortableServer::ThreadPolicy_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, PortableServer::ThreadPolicy_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, PortableServer::ThreadPolicy_ptr& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::PortableServer::LifespanPolicy_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::PortableServer::LifespanPolicy_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, PortableServer::LifespanPolicy_ptr*);
void operator<<=(CORBA::Any&, PortableServer::LifespanPolicy_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, PortableServer::LifespanPolicy_ptr&);
inline void
operator<<=(CORBA::Any_var& any, PortableServer::LifespanPolicy_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, PortableServer::LifespanPolicy_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, PortableServer::LifespanPolicy_ptr& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::PortableServer::IdUniquenessPolicy_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::PortableServer::IdUniquenessPolicy_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, PortableServer::IdUniquenessPolicy_ptr*);
void operator<<=(CORBA::Any&, PortableServer::IdUniquenessPolicy_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, PortableServer::IdUniquenessPolicy_ptr&);
inline void
operator<<=(CORBA::Any_var& any, PortableServer::IdUniquenessPolicy_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, PortableServer::IdUniquenessPolicy_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, PortableServer::IdUniquenessPolicy_ptr& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::PortableServer::IdAssignmentPolicy_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::PortableServer::IdAssignmentPolicy_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, PortableServer::IdAssignmentPolicy_ptr*);
void operator<<=(CORBA::Any&, PortableServer::IdAssignmentPolicy_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, PortableServer::IdAssignmentPolicy_ptr&);
inline void
operator<<=(CORBA::Any_var& any, PortableServer::IdAssignmentPolicy_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, PortableServer::IdAssignmentPolicy_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, PortableServer::IdAssignmentPolicy_ptr& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::PortableServer::ImplicitActivationPolicy_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::PortableServer::ImplicitActivationPolicy_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, PortableServer::ImplicitActivationPolicy_ptr*);
void operator<<=(CORBA::Any&, PortableServer::ImplicitActivationPolicy_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, PortableServer::ImplicitActivationPolicy_ptr&);
inline void
operator<<=(CORBA::Any_var& any, PortableServer::ImplicitActivationPolicy_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, PortableServer::ImplicitActivationPolicy_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, PortableServer::ImplicitActivationPolicy_ptr& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::PortableServer::ServantRetentionPolicy_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::PortableServer::ServantRetentionPolicy_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, PortableServer::ServantRetentionPolicy_ptr*);
void operator<<=(CORBA::Any&, PortableServer::ServantRetentionPolicy_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, PortableServer::ServantRetentionPolicy_ptr&);
inline void
operator<<=(CORBA::Any_var& any, PortableServer::ServantRetentionPolicy_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, PortableServer::ServantRetentionPolicy_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, PortableServer::ServantRetentionPolicy_ptr& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::PortableServer::RequestProcessingPolicy_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::PortableServer::RequestProcessingPolicy_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, PortableServer::RequestProcessingPolicy_ptr*);
void operator<<=(CORBA::Any&, PortableServer::RequestProcessingPolicy_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, PortableServer::RequestProcessingPolicy_ptr&);
inline void
operator<<=(CORBA::Any_var& any, PortableServer::RequestProcessingPolicy_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, PortableServer::RequestProcessingPolicy_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, PortableServer::RequestProcessingPolicy_ptr& val)
{
return any.in() >>= val;
}
# 28 "../../include/OB/POAInterface.h" 2
# 1 "../../include/OB/POAManager.h" 1
# 27 "../../include/OB/POAManager.h"
# 1 "../../include/OB/POAManager_fwd.h" 1
# 18 "../../include/OB/POAManager_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 19 "../../include/OB/POAManager_fwd.h" 2
# 39 "../../include/OB/POAManager_fwd.h"
namespace PortableServer
{
class POAManager;
typedef POAManager* POAManager_ptr;
typedef POAManager* POAManagerRef;
}
void OBDuplicate(PortableServer::POAManager_ptr);
void OBRelease(PortableServer::POAManager_ptr);
void OBMarshal(PortableServer::POAManager_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(PortableServer::POAManager_ptr&, OB::InputStreamImpl*);
namespace PortableServer
{
typedef OB::ObjVar< POAManager > POAManager_var;
typedef OB::ObjOut< POAManager > POAManager_out;
}
# 28 "../../include/OB/POAManager.h" 2
# 39 "../../include/OB/POAManager.h"
namespace OBStubImpl_PortableServer
{
}
namespace OBStubImpl_PortableServer
{
}
namespace PortableServer
{
class POAManager : virtual public CORBA::Object
{
POAManager(const POAManager&);
void operator=(const POAManager&);
protected:
static const char* ids_[];
public:
POAManager() { }
virtual ~POAManager() { }
typedef POAManager_ptr _ptr_type;
typedef POAManager_var _var_type;
static inline POAManager_ptr
_duplicate(POAManager_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline POAManager_ptr
_nil()
{
return 0;
}
static POAManager_ptr _narrow(CORBA::Object_ptr);
static POAManager_ptr _narrow(CORBA::AbstractBase_ptr);
struct AdapterInactive : public CORBA::UserException
{
AdapterInactive() { }
AdapterInactive(const AdapterInactive&);
AdapterInactive& operator=(const AdapterInactive&);
static AdapterInactive* _downcast(CORBA::Exception*);
static const AdapterInactive* _downcast(const CORBA::Exception*);
virtual const char* _name() const;
virtual void _raise() const { throw *this; }
virtual const char* _rep_id() const;
virtual char* _to_string() const;
virtual CORBA::Exception* _OB_clone() const;
virtual void _OB_insertInAny(CORBA::Any&);
static void _OB_unmarshal(AdapterInactive&, OB::InputStreamImpl*);
};
enum State
{
HOLDING,
ACTIVE,
DISCARDING,
INACTIVE
};
typedef State& State_out;
virtual void activate() = 0;
virtual void hold_requests(CORBA::Boolean wait_for_completion) = 0;
virtual void discard_requests(CORBA::Boolean wait_for_completion) = 0;
virtual void deactivate(CORBA::Boolean etherealize_objects,
CORBA::Boolean wait_for_completion) = 0;
virtual State get_state() = 0;
};
}
namespace OBProxy_PortableServer
{
}
namespace OBStubImpl_PortableServer
{
}
namespace OBMarshalStubImpl_PortableServer
{
}
namespace OBV_PortableServer
{
}
namespace CORBA
{
inline void
release(::PortableServer::POAManager_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::PortableServer::POAManager_ptr p)
{
return p == 0;
}
}
# 29 "../../include/OB/POAInterface.h" 2
# 1 "../../include/OB/POAAdapterActivator.h" 1
# 30 "../../include/OB/POAInterface.h" 2
# 1 "../../include/OB/POAServantManager.h" 1
# 31 "../../include/OB/POAInterface.h" 2
# 1 "../../include/OB/POACommon.h" 1
# 32 "../../include/OB/POAInterface.h" 2
# 1 "../../include/OB/Dispatch.h" 1
# 27 "../../include/OB/Dispatch.h"
# 1 "../../include/OB/Dispatch_fwd.h" 1
# 18 "../../include/OB/Dispatch_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 19 "../../include/OB/Dispatch_fwd.h" 2
# 39 "../../include/OB/Dispatch_fwd.h"
namespace OB
{
class DispatchRequest;
typedef DispatchRequest* DispatchRequest_ptr;
typedef DispatchRequest* DispatchRequestRef;
class DispatchStrategy;
typedef DispatchStrategy* DispatchStrategy_ptr;
typedef DispatchStrategy* DispatchStrategyRef;
class DispatchStrategyFactory;
typedef DispatchStrategyFactory* DispatchStrategyFactory_ptr;
typedef DispatchStrategyFactory* DispatchStrategyFactoryRef;
}
void OBDuplicate(OB::DispatchRequest_ptr);
void OBRelease(OB::DispatchRequest_ptr);
void OBMarshal(OB::DispatchRequest_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OB::DispatchRequest_ptr&, OB::InputStreamImpl*);
void OBDuplicate(OB::DispatchStrategy_ptr);
void OBRelease(OB::DispatchStrategy_ptr);
void OBMarshal(OB::DispatchStrategy_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OB::DispatchStrategy_ptr&, OB::InputStreamImpl*);
void OBDuplicate(OB::DispatchStrategyFactory_ptr);
void OBRelease(OB::DispatchStrategyFactory_ptr);
void OBMarshal(OB::DispatchStrategyFactory_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OB::DispatchStrategyFactory_ptr&, OB::InputStreamImpl*);
namespace OB
{
typedef OB::ObjVar< DispatchRequest > DispatchRequest_var;
typedef OB::ObjOut< DispatchRequest > DispatchRequest_out;
typedef OB::ObjVar< DispatchStrategy > DispatchStrategy_var;
typedef OB::ObjOut< DispatchStrategy > DispatchStrategy_out;
typedef OB::ObjVar< DispatchStrategyFactory > DispatchStrategyFactory_var;
typedef OB::ObjOut< DispatchStrategyFactory > DispatchStrategyFactory_out;
}
# 28 "../../include/OB/Dispatch.h" 2
# 39 "../../include/OB/Dispatch.h"
namespace OBStubImpl_OB
{
}
namespace OBStubImpl_OB
{
}
namespace OB
{
class DispatchRequest : virtual public CORBA::Object
{
DispatchRequest(const DispatchRequest&);
void operator=(const DispatchRequest&);
protected:
static const char* ids_[];
public:
DispatchRequest() { }
virtual ~DispatchRequest() { }
typedef DispatchRequest_ptr _ptr_type;
typedef DispatchRequest_var _var_type;
static inline DispatchRequest_ptr
_duplicate(DispatchRequest_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline DispatchRequest_ptr
_nil()
{
return 0;
}
static DispatchRequest_ptr _narrow(CORBA::Object_ptr);
static DispatchRequest_ptr _narrow(CORBA::AbstractBase_ptr);
virtual void invoke() = 0;
};
typedef CORBA::ULong DispatchStrategyId;
typedef CORBA::ULong_out DispatchStrategyId_out;
const DispatchStrategyId SAME_THREAD = 0U;
const DispatchStrategyId THREAD_PER_REQUEST = 1U;
const DispatchStrategyId THREAD_POOL = 2U;
class DispatchStrategy : virtual public CORBA::Object
{
DispatchStrategy(const DispatchStrategy&);
void operator=(const DispatchStrategy&);
protected:
static const char* ids_[];
public:
DispatchStrategy() { }
virtual ~DispatchStrategy() { }
typedef DispatchStrategy_ptr _ptr_type;
typedef DispatchStrategy_var _var_type;
static inline DispatchStrategy_ptr
_duplicate(DispatchStrategy_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline DispatchStrategy_ptr
_nil()
{
return 0;
}
static DispatchStrategy_ptr _narrow(CORBA::Object_ptr);
static DispatchStrategy_ptr _narrow(CORBA::AbstractBase_ptr);
virtual DispatchStrategyId id() = 0;
virtual CORBA::Any* info() = 0;
virtual void dispatch(DispatchRequest_ptr r) = 0;
};
typedef CORBA::ULong ThreadPoolId;
typedef CORBA::ULong_out ThreadPoolId_out;
struct InvalidThreadPool : public CORBA::UserException
{
InvalidThreadPool() { }
InvalidThreadPool(const InvalidThreadPool&);
InvalidThreadPool& operator=(const InvalidThreadPool&);
static InvalidThreadPool* _downcast(CORBA::Exception*);
static const InvalidThreadPool* _downcast(const CORBA::Exception*);
virtual const char* _name() const;
virtual void _raise() const { throw *this; }
virtual const char* _rep_id() const;
virtual char* _to_string() const;
virtual CORBA::Exception* _OB_clone() const;
virtual void _OB_insertInAny(CORBA::Any&);
static void _OB_unmarshal(InvalidThreadPool&, OB::InputStreamImpl*);
};
class DispatchStrategyFactory : virtual public CORBA::Object
{
DispatchStrategyFactory(const DispatchStrategyFactory&);
void operator=(const DispatchStrategyFactory&);
protected:
static const char* ids_[];
public:
DispatchStrategyFactory() { }
virtual ~DispatchStrategyFactory() { }
typedef DispatchStrategyFactory_ptr _ptr_type;
typedef DispatchStrategyFactory_var _var_type;
static inline DispatchStrategyFactory_ptr
_duplicate(DispatchStrategyFactory_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline DispatchStrategyFactory_ptr
_nil()
{
return 0;
}
static DispatchStrategyFactory_ptr _narrow(CORBA::Object_ptr);
static DispatchStrategyFactory_ptr _narrow(CORBA::AbstractBase_ptr);
virtual ThreadPoolId create_thread_pool(CORBA::Long nthreads) = 0;
virtual void destroy_thread_pool(ThreadPoolId id) = 0;
virtual DispatchStrategy_ptr create_thread_pool_strategy(ThreadPoolId id) = 0;
virtual DispatchStrategy_ptr create_same_thread_strategy() = 0;
virtual DispatchStrategy_ptr create_thread_per_request_strategy() = 0;
virtual DispatchStrategy_ptr create_default_dispatch_strategy() = 0;
};
}
namespace OBProxy_OB
{
}
namespace OBStubImpl_OB
{
}
namespace OBMarshalStubImpl_OB
{
}
namespace OBV_OB
{
}
namespace CORBA
{
inline void
release(::OB::DispatchRequest_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::OB::DispatchRequest_ptr p)
{
return p == 0;
}
}
namespace CORBA
{
inline void
release(::OB::DispatchStrategy_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::OB::DispatchStrategy_ptr p)
{
return p == 0;
}
}
namespace CORBA
{
inline void
release(::OB::DispatchStrategyFactory_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::OB::DispatchStrategyFactory_ptr p)
{
return p == 0;
}
}
# 33 "../../include/OB/POAInterface.h" 2
# 1 "../../include/OB/Types.h" 1
# 34 "../../include/OB/POAInterface.h" 2
# 1 "../../include/OB/POAInterface_fwd.h" 1
# 35 "../../include/OB/POAInterface.h" 2
# 46 "../../include/OB/POAInterface.h"
namespace OBStubImpl_PortableServer
{
}
namespace OBStubImpl_PortableServer
{
}
namespace PortableServer
{
class OBUnique_POAList { };
typedef OB::ObjSeq< POA, OBUnique_POAList > POAList;
typedef OB::SeqVar< OB::ObjSeq< POA, OBUnique_POAList > > POAList_var;
typedef OB::SeqOut< OB::ObjSeq< POA, OBUnique_POAList > > POAList_out;
class POA : virtual public CORBA::Object
{
POA(const POA&);
void operator=(const POA&);
protected:
static const char* ids_[];
public:
POA() { }
virtual ~POA() { }
typedef POA_ptr _ptr_type;
typedef POA_var _var_type;
static inline POA_ptr
_duplicate(POA_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline POA_ptr
_nil()
{
return 0;
}
static POA_ptr _narrow(CORBA::Object_ptr);
static POA_ptr _narrow(CORBA::AbstractBase_ptr);
struct AdapterAlreadyExists : public CORBA::UserException
{
AdapterAlreadyExists() { }
AdapterAlreadyExists(const AdapterAlreadyExists&);
AdapterAlreadyExists& operator=(const AdapterAlreadyExists&);
static AdapterAlreadyExists* _downcast(CORBA::Exception*);
static const AdapterAlreadyExists* _downcast(const CORBA::Exception*);
virtual const char* _name() const;
virtual void _raise() const { throw *this; }
virtual const char* _rep_id() const;
virtual char* _to_string() const;
virtual CORBA::Exception* _OB_clone() const;
virtual void _OB_insertInAny(CORBA::Any&);
static void _OB_unmarshal(AdapterAlreadyExists&, OB::InputStreamImpl*);
};
struct AdapterNonExistent : public CORBA::UserException
{
AdapterNonExistent() { }
AdapterNonExistent(const AdapterNonExistent&);
AdapterNonExistent& operator=(const AdapterNonExistent&);
static AdapterNonExistent* _downcast(CORBA::Exception*);
static const AdapterNonExistent* _downcast(const CORBA::Exception*);
virtual const char* _name() const;
virtual void _raise() const { throw *this; }
virtual const char* _rep_id() const;
virtual char* _to_string() const;
virtual CORBA::Exception* _OB_clone() const;
virtual void _OB_insertInAny(CORBA::Any&);
static void _OB_unmarshal(AdapterNonExistent&, OB::InputStreamImpl*);
};
struct InvalidPolicy : public CORBA::UserException
{
InvalidPolicy() { }
InvalidPolicy(const InvalidPolicy&);
InvalidPolicy& operator=(const InvalidPolicy&);
static InvalidPolicy* _downcast(CORBA::Exception*);
static const InvalidPolicy* _downcast(const CORBA::Exception*);
virtual const char* _name() const;
virtual void _raise() const { throw *this; }
virtual const char* _rep_id() const;
virtual char* _to_string() const;
virtual CORBA::Exception* _OB_clone() const;
virtual void _OB_insertInAny(CORBA::Any&);
CORBA::UShort index;
InvalidPolicy(CORBA::UShort);
virtual void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(InvalidPolicy&, OB::InputStreamImpl*);
};
struct NoServant : public CORBA::UserException
{
NoServant() { }
NoServant(const NoServant&);
NoServant& operator=(const NoServant&);
static NoServant* _downcast(CORBA::Exception*);
static const NoServant* _downcast(const CORBA::Exception*);
virtual const char* _name() const;
virtual void _raise() const { throw *this; }
virtual const char* _rep_id() const;
virtual char* _to_string() const;
virtual CORBA::Exception* _OB_clone() const;
virtual void _OB_insertInAny(CORBA::Any&);
static void _OB_unmarshal(NoServant&, OB::InputStreamImpl*);
};
struct ObjectAlreadyActive : public CORBA::UserException
{
ObjectAlreadyActive() { }
ObjectAlreadyActive(const ObjectAlreadyActive&);
ObjectAlreadyActive& operator=(const ObjectAlreadyActive&);
static ObjectAlreadyActive* _downcast(CORBA::Exception*);
static const ObjectAlreadyActive* _downcast(const CORBA::Exception*);
virtual const char* _name() const;
virtual void _raise() const { throw *this; }
virtual const char* _rep_id() const;
virtual char* _to_string() const;
virtual CORBA::Exception* _OB_clone() const;
virtual void _OB_insertInAny(CORBA::Any&);
static void _OB_unmarshal(ObjectAlreadyActive&, OB::InputStreamImpl*);
};
struct ObjectNotActive : public CORBA::UserException
{
ObjectNotActive() { }
ObjectNotActive(const ObjectNotActive&);
ObjectNotActive& operator=(const ObjectNotActive&);
static ObjectNotActive* _downcast(CORBA::Exception*);
static const ObjectNotActive* _downcast(const CORBA::Exception*);
virtual const char* _name() const;
virtual void _raise() const { throw *this; }
virtual const char* _rep_id() const;
virtual char* _to_string() const;
virtual CORBA::Exception* _OB_clone() const;
virtual void _OB_insertInAny(CORBA::Any&);
static void _OB_unmarshal(ObjectNotActive&, OB::InputStreamImpl*);
};
struct ServantAlreadyActive : public CORBA::UserException
{
ServantAlreadyActive() { }
ServantAlreadyActive(const ServantAlreadyActive&);
ServantAlreadyActive& operator=(const ServantAlreadyActive&);
static ServantAlreadyActive* _downcast(CORBA::Exception*);
static const ServantAlreadyActive* _downcast(const CORBA::Exception*);
virtual const char* _name() const;
virtual void _raise() const { throw *this; }
virtual const char* _rep_id() const;
virtual char* _to_string() const;
virtual CORBA::Exception* _OB_clone() const;
virtual void _OB_insertInAny(CORBA::Any&);
static void _OB_unmarshal(ServantAlreadyActive&, OB::InputStreamImpl*);
};
struct ServantNotActive : public CORBA::UserException
{
ServantNotActive() { }
ServantNotActive(const ServantNotActive&);
ServantNotActive& operator=(const ServantNotActive&);
static ServantNotActive* _downcast(CORBA::Exception*);
static const ServantNotActive* _downcast(const CORBA::Exception*);
virtual const char* _name() const;
virtual void _raise() const { throw *this; }
virtual const char* _rep_id() const;
virtual char* _to_string() const;
virtual CORBA::Exception* _OB_clone() const;
virtual void _OB_insertInAny(CORBA::Any&);
static void _OB_unmarshal(ServantNotActive&, OB::InputStreamImpl*);
};
struct WrongAdapter : public CORBA::UserException
{
WrongAdapter() { }
WrongAdapter(const WrongAdapter&);
WrongAdapter& operator=(const WrongAdapter&);
static WrongAdapter* _downcast(CORBA::Exception*);
static const WrongAdapter* _downcast(const CORBA::Exception*);
virtual const char* _name() const;
virtual void _raise() const { throw *this; }
virtual const char* _rep_id() const;
virtual char* _to_string() const;
virtual CORBA::Exception* _OB_clone() const;
virtual void _OB_insertInAny(CORBA::Any&);
static void _OB_unmarshal(WrongAdapter&, OB::InputStreamImpl*);
};
struct WrongPolicy : public CORBA::UserException
{
WrongPolicy() { }
WrongPolicy(const WrongPolicy&);
WrongPolicy& operator=(const WrongPolicy&);
static WrongPolicy* _downcast(CORBA::Exception*);
static const WrongPolicy* _downcast(const CORBA::Exception*);
virtual const char* _name() const;
virtual void _raise() const { throw *this; }
virtual const char* _rep_id() const;
virtual char* _to_string() const;
virtual CORBA::Exception* _OB_clone() const;
virtual void _OB_insertInAny(CORBA::Any&);
static void _OB_unmarshal(WrongPolicy&, OB::InputStreamImpl*);
};
virtual POA_ptr create_POA(const char* adapter_name,
POAManager_ptr a_POAManager,
const ::CORBA::PolicyList& policies) = 0;
virtual POA_ptr find_POA(const char* adapter_name,
CORBA::Boolean activate_it) = 0;
virtual void destroy(CORBA::Boolean etherealize_objects,
CORBA::Boolean wait_for_completion) = 0;
virtual ThreadPolicy_ptr create_thread_policy(ThreadPolicyValue value) = 0;
virtual LifespanPolicy_ptr create_lifespan_policy(LifespanPolicyValue value) = 0;
virtual IdUniquenessPolicy_ptr create_id_uniqueness_policy(IdUniquenessPolicyValue value) = 0;
virtual IdAssignmentPolicy_ptr create_id_assignment_policy(IdAssignmentPolicyValue value) = 0;
virtual ImplicitActivationPolicy_ptr create_implicit_activation_policy(ImplicitActivationPolicyValue value) = 0;
virtual ServantRetentionPolicy_ptr create_servant_retention_policy(ServantRetentionPolicyValue value) = 0;
virtual RequestProcessingPolicy_ptr create_request_processing_policy(RequestProcessingPolicyValue value) = 0;
virtual char* the_name() = 0;
virtual POA_ptr the_parent() = 0;
virtual POAList* the_children() = 0;
virtual POAManager_ptr the_POAManager() = 0;
virtual AdapterActivator_ptr the_activator() = 0;
virtual void the_activator(AdapterActivator_ptr) = 0;
virtual ServantManager_ptr get_servant_manager() = 0;
virtual void set_servant_manager(ServantManager_ptr imgr) = 0;
virtual Servant get_servant() = 0;
virtual void set_servant(Servant p_servant) = 0;
virtual ObjectId* activate_object(Servant p_servant) = 0;
virtual void activate_object_with_id(const ObjectId& id,
Servant p_servant) = 0;
virtual void deactivate_object(const ObjectId& oid) = 0;
virtual CORBA::Object_ptr create_reference(const char* intf) = 0;
virtual CORBA::Object_ptr create_reference_with_id(const ObjectId& oid,
const char* intf) = 0;
virtual ObjectId* servant_to_id(Servant p_servant) = 0;
virtual CORBA::Object_ptr servant_to_reference(Servant p_servant) = 0;
virtual Servant reference_to_servant(CORBA::Object_ptr reference) = 0;
virtual ObjectId* reference_to_id(CORBA::Object_ptr reference) = 0;
virtual Servant id_to_servant(const ObjectId& oid) = 0;
virtual CORBA::Object_ptr id_to_reference(const ObjectId& oid) = 0;
};
}
namespace OBProxy_PortableServer
{
}
namespace OBStubImpl_PortableServer
{
}
namespace OBMarshalStubImpl_PortableServer
{
}
namespace OBV_PortableServer
{
}
namespace CORBA
{
inline void
release(::PortableServer::POA_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::PortableServer::POA_ptr p)
{
return p == 0;
}
}
# 32 "../../include/OB/PortableServer.h" 2
# 1 "../../include/OB/PortableServer_fwd.h" 1
# 18 "../../include/OB/PortableServer_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 19 "../../include/OB/PortableServer_fwd.h" 2
# 33 "../../include/OB/PortableServer.h" 2
# 17 "../../include/OB/CORBAServer.h" 2
# 1 "../../include/OB/DirectStubImpl.h" 1
# 14 "../../include/OB/DirectStubImpl.h"
# 1 "../../include/OB/DirectStubImpl_fwd.h" 1
# 15 "../../include/OB/DirectStubImpl.h" 2
# 1 "../../include/OB/POAInterface_fwd.h" 1
# 16 "../../include/OB/DirectStubImpl.h" 2
# 1 "../../include/OB/POAServantBase_fwd.h" 1
# 17 "../../include/OB/DirectStubImpl.h" 2
# 1 "../../include/OB/Object_fwd.h" 1
# 18 "../../include/OB/DirectStubImpl.h" 2
# 1 "../../include/OB/ORBInstance_fwd.h" 1
# 19 "../../include/OB/DirectStubImpl.h" 2
# 1 "../../include/OB/Stream_fwd.h" 1
# 20 "../../include/OB/DirectStubImpl.h" 2
# 1 "../../include/OB/NativeTypes.h" 1
# 22 "../../include/OB/DirectStubImpl.h" 2
# 1 "../../include/OB/StubImpl.h" 1
# 23 "../../include/OB/DirectStubImpl.h" 2
# 1 "../../include/OB/POACommon.h" 1
# 24 "../../include/OB/DirectStubImpl.h" 2
namespace OBPortableServer
{
class POA_impl;
}
namespace OB
{
class DirectStubImpl : virtual public StubImplBase
{
DirectStubImpl(const DirectStubImpl&);
void operator=(const DirectStubImpl&);
OBPortableServer::POA_impl* poa_;
PortableServer::ObjectId oid_;
bool deactivated_;
JTCMutex deactivatedMutex_;
protected:
PortableServer::ServantBase* _ob_servant_;
OutputStream_ptr _OB_createOutputStream();
InputStream_ptr _OB_createInputStream(OutputStream_ptr);
# 89 "../../include/OB/DirectStubImpl.h"
public:
DirectStubImpl(PortableServer::POA_ptr,
const PortableServer::ObjectId&,
PortableServer::ServantBase*);
virtual ~DirectStubImpl();
static inline DirectStubImpl_ptr _duplicate(DirectStubImpl_ptr p)
{ if(p) p -> _OB_incRef(); return p; }
static inline DirectStubImpl_ptr _nil()
{ return 0; }
virtual CORBA::InterfaceDef_ptr _get_interface();
virtual CORBA::Boolean _is_a(const char*);
virtual CORBA::Boolean _non_existent();
virtual CORBA::Boolean _locate_request();
virtual OCI::ConnectorInfo_ptr _get_oci_connector_info();
virtual OCI::TransportInfo_ptr _get_oci_transport_info();
void _OB_deactivate();
PortableServer::ServantBase* _OB_setupServant();
void _OB_preinvoke(const char*);
void _OB_postinvoke();
OB::ORBInstance_ptr _OB_ORBInstance();
};
class InvocationHandler
{
DirectStubImpl* directStubImpl_;
PortableServer::ServantBase_var dummy_;
public:
InvocationHandler(DirectStubImpl* directStubImpl, const char* op)
: directStubImpl_(directStubImpl)
{
# 143 "../../include/OB/DirectStubImpl.h"
dummy_ = directStubImpl_ -> _OB_setupServant();
directStubImpl_ -> _OB_preinvoke(op);
}
~InvocationHandler()
{
directStubImpl_ -> _OB_postinvoke();
}
};
}
namespace CORBA
{
inline void
release(OB::DirectStubImpl_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(OB::DirectStubImpl_ptr p)
{
return p == 0;
}
}
namespace OBCORBA
{
class ORB_impl;
}
namespace OB
{
class DirectStubImplFactory : public RefCount
{
DirectStubImplFactory(const DirectStubImplFactory&);
void operator=(const DirectStubImplFactory&);
bool destroy_;
ORBInstance_var orbInstance_;
DirectStubImplFactory();
~DirectStubImplFactory();
friend class ::OBCORBA::ORB_impl;
public:
static inline DirectStubImplFactory_ptr
_duplicate(DirectStubImplFactory_ptr p)
{ if(p) p -> _OB_incRef(); return p; }
static inline DirectStubImplFactory_ptr _nil()
{ return 0; }
void destroy();
void setORBInstance(ORBInstance_ptr);
DirectStubImpl_ptr createStubImpl(RefCountIOR_ptr,
RefCountIOR_ptr,
RefCountPolicyList_ptr)
throw(LocationForward, CORBA::SystemException);
};
}
namespace CORBA
{
inline void
release(OB::DirectStubImplFactory_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(OB::DirectStubImplFactory_ptr p)
{
return p == 0;
}
}
# 18 "../../include/OB/CORBAServer.h" 2
# 15 "../../include/OB/CORBA.h" 2
# 1 "../../include/OB/ORBInstance.h" 1
# 14 "../../include/OB/ORBInstance.h"
# 1 "../../include/OB/ORBInstance_fwd.h" 1
# 15 "../../include/OB/ORBInstance.h" 2
# 1 "../../include/OB/OBORB_fwd.h" 1
# 18 "../../include/OB/OBORB_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 19 "../../include/OB/OBORB_fwd.h" 2
# 39 "../../include/OB/OBORB_fwd.h"
namespace CORBA
{
class Context;
typedef Context* Context_ptr;
typedef Context* ContextRef;
class NVList;
typedef NVList* NVList_ptr;
typedef NVList* NVListRef;
class NamedValue;
typedef NamedValue* NamedValue_ptr;
typedef NamedValue* NamedValueRef;
class ContextList;
typedef ContextList* ContextList_ptr;
typedef ContextList* ContextListRef;
class ExceptionList;
typedef ExceptionList* ExceptionList_ptr;
typedef ExceptionList* ExceptionListRef;
class Environment;
typedef Environment* Environment_ptr;
typedef Environment* EnvironmentRef;
class OperationDef;
typedef OperationDef* OperationDef_ptr;
typedef OperationDef* OperationDefRef;
class Request;
typedef Request* Request_ptr;
typedef Request* RequestRef;
class ORB;
typedef ORB* ORB_ptr;
typedef ORB* ORBRef;
}
namespace OB
{
class Logger;
typedef Logger* Logger_ptr;
typedef Logger* LoggerRef;
class Reactor;
typedef Reactor* Reactor_ptr;
typedef Reactor* ReactorRef;
class UnknownExceptionStrategy;
typedef UnknownExceptionStrategy* UnknownExceptionStrategy_ptr;
typedef UnknownExceptionStrategy* UnknownExceptionStrategyRef;
}
namespace OBCORBA
{
class ORB;
typedef ORB* ORB_ptr;
typedef ORB* ORBRef;
}
void OBDuplicate(CORBA::Context_ptr);
void OBRelease(CORBA::Context_ptr);
void OBMarshal(CORBA::Context_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::Context_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::NVList_ptr);
void OBRelease(CORBA::NVList_ptr);
void OBMarshal(CORBA::NVList_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::NVList_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::NamedValue_ptr);
void OBRelease(CORBA::NamedValue_ptr);
void OBMarshal(CORBA::NamedValue_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::NamedValue_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::ContextList_ptr);
void OBRelease(CORBA::ContextList_ptr);
void OBMarshal(CORBA::ContextList_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::ContextList_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::ExceptionList_ptr);
void OBRelease(CORBA::ExceptionList_ptr);
void OBMarshal(CORBA::ExceptionList_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::ExceptionList_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::Environment_ptr);
void OBRelease(CORBA::Environment_ptr);
void OBMarshal(CORBA::Environment_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::Environment_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::OperationDef_ptr);
void OBRelease(CORBA::OperationDef_ptr);
void OBMarshal(CORBA::OperationDef_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::OperationDef_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::Request_ptr);
void OBRelease(CORBA::Request_ptr);
void OBMarshal(CORBA::Request_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::Request_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::ORB_ptr);
void OBRelease(CORBA::ORB_ptr);
void OBMarshal(CORBA::ORB_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::ORB_ptr&, OB::InputStreamImpl*);
void OBDuplicate(OB::Logger_ptr);
void OBRelease(OB::Logger_ptr);
void OBMarshal(OB::Logger_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OB::Logger_ptr&, OB::InputStreamImpl*);
void OBDuplicate(OB::Reactor_ptr);
void OBRelease(OB::Reactor_ptr);
void OBMarshal(OB::Reactor_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OB::Reactor_ptr&, OB::InputStreamImpl*);
void OBDuplicate(OB::UnknownExceptionStrategy_ptr);
void OBRelease(OB::UnknownExceptionStrategy_ptr);
void OBMarshal(OB::UnknownExceptionStrategy_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OB::UnknownExceptionStrategy_ptr&, OB::InputStreamImpl*);
void OBDuplicate(OBCORBA::ORB_ptr);
void OBRelease(OBCORBA::ORB_ptr);
void OBMarshal(OBCORBA::ORB_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OBCORBA::ORB_ptr&, OB::InputStreamImpl*);
namespace CORBA
{
typedef OB::ObjVar< Context > Context_var;
typedef OB::ObjOut< Context > Context_out;
typedef OB::ObjVar< NVList > NVList_var;
typedef OB::ObjOut< NVList > NVList_out;
typedef OB::ObjVar< NamedValue > NamedValue_var;
typedef OB::ObjOut< NamedValue > NamedValue_out;
typedef OB::ObjVar< ContextList > ContextList_var;
typedef OB::ObjOut< ContextList > ContextList_out;
typedef OB::ObjVar< ExceptionList > ExceptionList_var;
typedef OB::ObjOut< ExceptionList > ExceptionList_out;
typedef OB::ObjVar< Environment > Environment_var;
typedef OB::ObjOut< Environment > Environment_out;
typedef OB::ObjVar< OperationDef > OperationDef_var;
typedef OB::ObjOut< OperationDef > OperationDef_out;
typedef OB::ObjVar< Request > Request_var;
typedef OB::ObjOut< Request > Request_out;
typedef OB::ObjVar< ORB > ORB_var;
typedef OB::ObjOut< ORB > ORB_out;
}
namespace OB
{
typedef OB::ObjVar< Logger > Logger_var;
typedef OB::ObjOut< Logger > Logger_out;
typedef OB::ObjVar< Reactor > Reactor_var;
typedef OB::ObjOut< Reactor > Reactor_out;
typedef OB::ObjVar< UnknownExceptionStrategy > UnknownExceptionStrategy_var;
typedef OB::ObjOut< UnknownExceptionStrategy > UnknownExceptionStrategy_out;
}
namespace OBCORBA
{
typedef OB::ObjVar< ORB > ORB_var;
typedef OB::ObjOut< ORB > ORB_out;
}
# 16 "../../include/OB/ORBInstance.h" 2
# 1 "../../include/OB/OBObject_fwd.h" 1
# 17 "../../include/OB/ORBInstance.h" 2
# 1 "../../include/OB/DirectStubImpl_fwd.h" 1
# 18 "../../include/OB/ORBInstance.h" 2
# 1 "../../include/OB/Client_fwd.h" 1
# 19 "../../include/OB/ORBInstance.h" 2
# 1 "../../include/OB/InitialServiceManager_fwd.h" 1
# 14 "../../include/OB/InitialServiceManager_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 15 "../../include/OB/InitialServiceManager_fwd.h" 2
namespace OB
{
class InitialServiceManager;
typedef InitialServiceManager* InitialServiceManager_ptr;
}
void OBDuplicate(OB::InitialServiceManager_ptr);
void OBRelease(OB::InitialServiceManager_ptr);
namespace OB
{
typedef ObjVar< InitialServiceManager > InitialServiceManager_var;
}
# 20 "../../include/OB/ORBInstance.h" 2
# 1 "../../include/OB/ValueFactoryManager_fwd.h" 1
# 14 "../../include/OB/ValueFactoryManager_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 15 "../../include/OB/ValueFactoryManager_fwd.h" 2
namespace OB
{
class ValueFactoryManager;
typedef ValueFactoryManager* ValueFactoryManager_ptr;
}
void OBDuplicate(OB::ValueFactoryManager_ptr);
void OBRelease(OB::ValueFactoryManager_ptr);
namespace OB
{
typedef ObjVar< ValueFactoryManager > ValueFactoryManager_var;
}
# 21 "../../include/OB/ORBInstance.h" 2
# 1 "../../include/OB/PolicyFactoryManager_fwd.h" 1
# 14 "../../include/OB/PolicyFactoryManager_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 15 "../../include/OB/PolicyFactoryManager_fwd.h" 2
namespace OB
{
class PolicyFactoryManager;
typedef PolicyFactoryManager* PolicyFactoryManager_ptr;
}
void OBDuplicate(OB::PolicyFactoryManager_ptr);
void OBRelease(OB::PolicyFactoryManager_ptr);
namespace OB
{
typedef ObjVar< PolicyFactoryManager > PolicyFactoryManager_var;
}
# 22 "../../include/OB/ORBInstance.h" 2
# 1 "../../include/OB/PIManager_fwd.h" 1
# 14 "../../include/OB/PIManager_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 15 "../../include/OB/PIManager_fwd.h" 2
namespace OB
{
class PIManager;
typedef PIManager* PIManager_ptr;
}
void OBDuplicate(OB::PIManager_ptr);
void OBRelease(OB::PIManager_ptr);
namespace OB
{
typedef ObjVar< PIManager > PIManager_var;
}
# 23 "../../include/OB/ORBInstance.h" 2
# 1 "../../include/OB/Codec_fwd.h" 1
# 18 "../../include/OB/Codec_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 19 "../../include/OB/Codec_fwd.h" 2
# 39 "../../include/OB/Codec_fwd.h"
namespace IOP
{
class Codec;
typedef Codec* Codec_ptr;
typedef Codec* CodecRef;
class CodecFactory;
typedef CodecFactory* CodecFactory_ptr;
typedef CodecFactory* CodecFactoryRef;
}
void OBDuplicate(IOP::Codec_ptr);
void OBRelease(IOP::Codec_ptr);
void OBMarshal(IOP::Codec_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(IOP::Codec_ptr&, OB::InputStreamImpl*);
void OBDuplicate(IOP::CodecFactory_ptr);
void OBRelease(IOP::CodecFactory_ptr);
void OBMarshal(IOP::CodecFactory_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(IOP::CodecFactory_ptr&, OB::InputStreamImpl*);
namespace IOP
{
typedef OB::ObjVar< Codec > Codec_var;
typedef OB::ObjOut< Codec > Codec_out;
typedef OB::ObjVar< CodecFactory > CodecFactory_var;
typedef OB::ObjOut< CodecFactory > CodecFactory_out;
}
# 24 "../../include/OB/ORBInstance.h" 2
# 1 "../../include/OB/OBPOAManager_fwd.h" 1
# 25 "../../include/OB/ORBInstance.h" 2
# 1 "../../include/OB/MultiRequestSender_fwd.h" 1
# 14 "../../include/OB/MultiRequestSender_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 15 "../../include/OB/MultiRequestSender_fwd.h" 2
namespace OB
{
class MultiRequestSender;
typedef MultiRequestSender* MultiRequestSender_ptr;
typedef MultiRequestSender_ptr MultiRequestSenderRef;
}
void OBDuplicate(OB::MultiRequestSender_ptr);
void OBRelease(OB::MultiRequestSender_ptr);
namespace OB
{
typedef OB::ObjVar< MultiRequestSender > MultiRequestSender_var;
typedef OB::ObjOut< MultiRequestSender > MultiRequestSender_out;
}
# 26 "../../include/OB/ORBInstance.h" 2
# 1 "../../include/OB/Properties_fwd.h" 1
# 14 "../../include/OB/Properties_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 15 "../../include/OB/Properties_fwd.h" 2
namespace OB
{
class Properties;
typedef Properties* Properties_ptr;
}
void OBDuplicate(OB::Properties_ptr);
void OBRelease(OB::Properties_ptr);
namespace OB
{
typedef ObjVar< Properties > Properties_var;
}
# 27 "../../include/OB/ORBInstance.h" 2
# 1 "../../include/OB/Dispatch_fwd.h" 1
# 28 "../../include/OB/ORBInstance.h" 2
# 1 "../../include/OB/BootManager_fwd.h" 1
# 18 "../../include/OB/BootManager_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 19 "../../include/OB/BootManager_fwd.h" 2
# 39 "../../include/OB/BootManager_fwd.h"
namespace OB
{
class BootManager;
typedef BootManager* BootManager_ptr;
typedef BootManager* BootManagerRef;
class BootLocator;
typedef BootLocator* BootLocator_ptr;
typedef BootLocator* BootLocatorRef;
}
void OBDuplicate(OB::BootManager_ptr);
void OBRelease(OB::BootManager_ptr);
void OBMarshal(OB::BootManager_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OB::BootManager_ptr&, OB::InputStreamImpl*);
void OBDuplicate(OB::BootLocator_ptr);
void OBRelease(OB::BootLocator_ptr);
void OBMarshal(OB::BootLocator_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OB::BootLocator_ptr&, OB::InputStreamImpl*);
namespace OB
{
typedef OB::ObjVar< BootManager > BootManager_var;
typedef OB::ObjOut< BootManager > BootManager_out;
typedef OB::ObjVar< BootLocator > BootLocator_var;
typedef OB::ObjOut< BootLocator > BootLocator_out;
}
# 29 "../../include/OB/ORBInstance.h" 2
# 1 "../../include/OB/Reactor_fwd.h" 1
# 18 "../../include/OB/Reactor_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 19 "../../include/OB/Reactor_fwd.h" 2
# 39 "../../include/OB/Reactor_fwd.h"
namespace OB
{
class Reactor;
typedef Reactor* Reactor_ptr;
typedef Reactor* ReactorRef;
}
void OBDuplicate(OB::Reactor_ptr);
void OBRelease(OB::Reactor_ptr);
void OBMarshal(OB::Reactor_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OB::Reactor_ptr&, OB::InputStreamImpl*);
namespace OB
{
typedef OB::ObjVar< Reactor > Reactor_var;
typedef OB::ObjOut< Reactor > Reactor_out;
}
# 30 "../../include/OB/ORBInstance.h" 2
# 1 "../../include/OB/Logger_fwd.h" 1
# 18 "../../include/OB/Logger_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 19 "../../include/OB/Logger_fwd.h" 2
# 39 "../../include/OB/Logger_fwd.h"
namespace OB
{
class Logger;
typedef Logger* Logger_ptr;
typedef Logger* LoggerRef;
}
void OBDuplicate(OB::Logger_ptr);
void OBRelease(OB::Logger_ptr);
void OBMarshal(OB::Logger_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OB::Logger_ptr&, OB::InputStreamImpl*);
namespace OB
{
typedef OB::ObjVar< Logger > Logger_var;
typedef OB::ObjOut< Logger > Logger_out;
}
# 31 "../../include/OB/ORBInstance.h" 2
# 1 "../../include/OB/CoreTraceLevels_fwd.h" 1
# 14 "../../include/OB/CoreTraceLevels_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 15 "../../include/OB/CoreTraceLevels_fwd.h" 2
namespace OB
{
class CoreTraceLevels;
typedef CoreTraceLevels* CoreTraceLevels_ptr;
typedef CoreTraceLevels_ptr CoreTraceLevelsRef;
}
void OBDuplicate(OB::CoreTraceLevels_ptr);
void OBRelease(OB::CoreTraceLevels_ptr);
namespace OB
{
typedef OB::ObjVar< CoreTraceLevels > CoreTraceLevels_var;
typedef OB::ObjOut< CoreTraceLevels > CoreTraceLevels_out;
}
# 32 "../../include/OB/ORBInstance.h" 2
# 1 "../../include/OB/OCIClient_fwd.h" 1
# 33 "../../include/OB/ORBInstance.h" 2
# 1 "../../include/OB/OCI_fwd.h" 1
# 18 "../../include/OB/OCI_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 19 "../../include/OB/OCI_fwd.h" 2
# 39 "../../include/OB/OCI_fwd.h"
namespace OCI
{
class Acceptor;
typedef Acceptor* Acceptor_ptr;
typedef Acceptor* AcceptorRef;
class AcceptorInfo;
typedef AcceptorInfo* AcceptorInfo_ptr;
typedef AcceptorInfo* AcceptorInfoRef;
class AcceptCB;
typedef AcceptCB* AcceptCB_ptr;
typedef AcceptCB* AcceptCBRef;
class AccFactory;
typedef AccFactory* AccFactory_ptr;
typedef AccFactory* AccFactoryRef;
class AccFactoryInfo;
typedef AccFactoryInfo* AccFactoryInfo_ptr;
typedef AccFactoryInfo* AccFactoryInfoRef;
class AccFactoryRegistry;
typedef AccFactoryRegistry* AccFactoryRegistry_ptr;
typedef AccFactoryRegistry* AccFactoryRegistryRef;
class Current;
typedef Current* Current_ptr;
typedef Current* CurrentRef;
}
void OBDuplicate(OCI::Acceptor_ptr);
void OBRelease(OCI::Acceptor_ptr);
void OBMarshal(OCI::Acceptor_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OCI::Acceptor_ptr&, OB::InputStreamImpl*);
void OBDuplicate(OCI::AcceptorInfo_ptr);
void OBRelease(OCI::AcceptorInfo_ptr);
void OBMarshal(OCI::AcceptorInfo_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OCI::AcceptorInfo_ptr&, OB::InputStreamImpl*);
void OBDuplicate(OCI::AcceptCB_ptr);
void OBRelease(OCI::AcceptCB_ptr);
void OBMarshal(OCI::AcceptCB_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OCI::AcceptCB_ptr&, OB::InputStreamImpl*);
void OBDuplicate(OCI::AccFactory_ptr);
void OBRelease(OCI::AccFactory_ptr);
void OBMarshal(OCI::AccFactory_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OCI::AccFactory_ptr&, OB::InputStreamImpl*);
void OBDuplicate(OCI::AccFactoryInfo_ptr);
void OBRelease(OCI::AccFactoryInfo_ptr);
void OBMarshal(OCI::AccFactoryInfo_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OCI::AccFactoryInfo_ptr&, OB::InputStreamImpl*);
void OBDuplicate(OCI::AccFactoryRegistry_ptr);
void OBRelease(OCI::AccFactoryRegistry_ptr);
void OBMarshal(OCI::AccFactoryRegistry_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OCI::AccFactoryRegistry_ptr&, OB::InputStreamImpl*);
void OBDuplicate(OCI::Current_ptr);
void OBRelease(OCI::Current_ptr);
void OBMarshal(OCI::Current_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OCI::Current_ptr&, OB::InputStreamImpl*);
namespace OCI
{
typedef OB::ObjVar< Acceptor > Acceptor_var;
typedef OB::ObjOut< Acceptor > Acceptor_out;
typedef OB::ObjVar< AcceptorInfo > AcceptorInfo_var;
typedef OB::ObjOut< AcceptorInfo > AcceptorInfo_out;
typedef OB::ObjVar< AcceptCB > AcceptCB_var;
typedef OB::ObjOut< AcceptCB > AcceptCB_out;
typedef OB::ObjVar< AccFactory > AccFactory_var;
typedef OB::ObjOut< AccFactory > AccFactory_out;
typedef OB::ObjVar< AccFactoryInfo > AccFactoryInfo_var;
typedef OB::ObjOut< AccFactoryInfo > AccFactoryInfo_out;
typedef OB::ObjVar< AccFactoryRegistry > AccFactoryRegistry_var;
typedef OB::ObjOut< AccFactoryRegistry > AccFactoryRegistry_out;
typedef OB::ObjVar< Current > Current_var;
typedef OB::ObjOut< Current > Current_out;
}
# 34 "../../include/OB/ORBInstance.h" 2
# 1 "../../include/OB/UnknownException_fwd.h" 1
# 18 "../../include/OB/UnknownException_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 19 "../../include/OB/UnknownException_fwd.h" 2
# 39 "../../include/OB/UnknownException_fwd.h"
namespace OB
{
class UnknownExceptionInfo;
typedef UnknownExceptionInfo* UnknownExceptionInfo_ptr;
typedef UnknownExceptionInfo* UnknownExceptionInfoRef;
class UnknownExceptionStrategy;
typedef UnknownExceptionStrategy* UnknownExceptionStrategy_ptr;
typedef UnknownExceptionStrategy* UnknownExceptionStrategyRef;
}
void OBDuplicate(OB::UnknownExceptionInfo_ptr);
void OBRelease(OB::UnknownExceptionInfo_ptr);
void OBMarshal(OB::UnknownExceptionInfo_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OB::UnknownExceptionInfo_ptr&, OB::InputStreamImpl*);
void OBDuplicate(OB::UnknownExceptionStrategy_ptr);
void OBRelease(OB::UnknownExceptionStrategy_ptr);
void OBMarshal(OB::UnknownExceptionStrategy_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OB::UnknownExceptionStrategy_ptr&, OB::InputStreamImpl*);
namespace OB
{
typedef OB::ObjVar< UnknownExceptionInfo > UnknownExceptionInfo_var;
typedef OB::ObjOut< UnknownExceptionInfo > UnknownExceptionInfo_out;
typedef OB::ObjVar< UnknownExceptionStrategy > UnknownExceptionStrategy_var;
typedef OB::ObjOut< UnknownExceptionStrategy > UnknownExceptionStrategy_out;
}
# 35 "../../include/OB/ORBInstance.h" 2
namespace OBCORBA
{
class ORB_impl;
}
namespace OB
{
class GlobalStateMutexDestroyer;
class ORBInstance : public RefCount
{
ORBInstance(const ORBInstance&);
void operator=(const ORBInstance&);
bool destroy_;
CORBA::ULong nativeCs_;
CORBA::ULong nativeWcs_;
CORBA::ULong defaultWcs_;
CORBA::String_var orbId_;
CORBA::String_var serverId_;
CORBA::String_var serverInstance_;
# 99 "../../include/OB/ORBInstance.h"
ObjectFactory_var objectFactory_;
DirectStubImplFactory_var directStubImplFactory_;
ClientManager_var clientManager_;
PolicyFactoryManager_var policyFactoryManager_;
PIManager_var interceptorManager_;
InitialServiceManager_var initServiceManager_;
ValueFactoryManager_var valueFactoryManager_;
IOP::CodecFactory_var codecFactory_;
OBPortableServer::POAManagerFactory_var pmFactory_;
MultiRequestSender_var multiRequestSender_;
Properties_var properties_;
DispatchStrategyFactory_var dispatchStrategyFactory_;
BootManager_var bootManager_;
Reactor_var reactor_;
Logger_var logger_;
CoreTraceLevels_var coreTraceLevels_;
OCI::ConFactoryRegistry_var conFactoryRegistry_;
OCI::AccFactoryRegistry_var accFactoryRegistry_;
UnknownExceptionStrategy_var unknownExceptionStrategy_;
bool useTypeCodeCache_;
bool extendedWchar_;
JTCRecursiveMutex orbSyncMutex_;
JTCThreadGroupHandle serverWorkerGroup_;
JTCThreadGroupHandle clientWorkerGroup_;
friend class ::OB::GlobalStateMutexDestroyer;
static JTCMutex* globalStateMutex_;
static JTCInitialize* globalStateJTC_;
static int globalStateCounter_;
void createGlobalState();
void destroyGlobalState();
ORBInstance(const char*,
const char*,
const char*,
ObjectFactory_ptr,
DirectStubImplFactory_ptr,
ClientManager_ptr,
PolicyFactoryManager_ptr,
PIManager_ptr,
InitialServiceManager_ptr,
ValueFactoryManager_ptr,
IOP::CodecFactory_ptr,
OBPortableServer::POAManagerFactory_ptr,
MultiRequestSender_ptr,
Properties_ptr,
DispatchStrategyFactory_ptr,
BootManager_ptr,
Reactor_ptr,
Logger_ptr,
CoreTraceLevels_ptr,
OCI::ConFactoryRegistry_ptr,
OCI::AccFactoryRegistry_ptr,
UnknownExceptionStrategy_ptr,
CORBA::ULong, CORBA::ULong, CORBA::ULong);
virtual ~ORBInstance();
friend class ::OBCORBA::ORB_impl;
public:
static inline ORBInstance_ptr _duplicate(ORBInstance_ptr p)
{ if(p) p -> _OB_incRef(); return p; }
static inline ORBInstance_ptr _nil()
{ return 0; }
void destroy();
CORBA::ULong getNativeCs();
CORBA::ULong getNativeWcs();
CORBA::ULong getDefaultWcs();
ObjectFactory_ptr getObjectFactory();
DirectStubImplFactory_ptr getDirectStubImplFactory();
ClientManager_ptr getClientManager();
PolicyFactoryManager_ptr getPolicyFactoryManager();
PIManager_ptr getPIManager();
InitialServiceManager_ptr getInitialServiceManager();
ValueFactoryManager_ptr getValueFactoryManager();
IOP::CodecFactory_ptr getCodecFactory();
OBPortableServer::POAManagerFactory_ptr getPOAManagerFactory();
MultiRequestSender_ptr getMultiRequestSender();
Properties_ptr getProperties();
DispatchStrategyFactory_ptr getDispatchStrategyFactory();
BootManager_ptr getBootManager();
Reactor_ptr getReactor();
Logger_ptr getLogger();
CoreTraceLevels_ptr getCoreTraceLevels();
JTCRecursiveMutex& getORBSyncMutex();
JTCThreadGroupHandle getServerWorkerGroup();
JTCThreadGroupHandle getClientWorkerGroup();
OCI::ConFactoryRegistry_ptr getConFactoryRegistry();
OCI::AccFactoryRegistry_ptr getAccFactoryRegistry();
UnknownExceptionStrategy_ptr getUnknownExceptionStrategy();
UnknownExceptionStrategy_ptr setUnknownExceptionStrategy(
UnknownExceptionStrategy_ptr);
const char* getOrbId() const;
const char* getServerId() const;
const char* getServerInstance() const;
bool useTypeCodeCache() const;
bool extendedWchar() const;
};
}
namespace CORBA
{
inline void
release(OB::ORBInstance_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(OB::ORBInstance_ptr p)
{
return p == 0;
}
}
namespace OB
{
ORBInstance_ptr GetORBInstance(CORBA::ORB_ptr);
}
# 17 "../../include/OB/CORBA.h" 2
# 1 "../../include/OB/OBORB.h" 1
# 27 "../../include/OB/OBORB.h"
# 1 "../../include/OB/Policy.h" 1
# 28 "../../include/OB/OBORB.h" 2
# 1 "../../include/OB/OBPolicies.h" 1
# 27 "../../include/OB/OBPolicies.h"
# 1 "../../include/OB/Policy.h" 1
# 28 "../../include/OB/OBPolicies.h" 2
# 1 "../../include/OB/OCITypes.h" 1
# 29 "../../include/OB/OBPolicies.h" 2
# 1 "../../include/OB/OBPolicies_fwd.h" 1
# 18 "../../include/OB/OBPolicies_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 19 "../../include/OB/OBPolicies_fwd.h" 2
# 39 "../../include/OB/OBPolicies_fwd.h"
namespace OB
{
class ProtocolPolicy;
typedef ProtocolPolicy* ProtocolPolicy_ptr;
typedef ProtocolPolicy* ProtocolPolicyRef;
extern OB::TypeCodeConst _tc_ProtocolPolicy;
class ConnectionReusePolicy;
typedef ConnectionReusePolicy* ConnectionReusePolicy_ptr;
typedef ConnectionReusePolicy* ConnectionReusePolicyRef;
extern OB::TypeCodeConst _tc_ConnectionReusePolicy;
class RetryPolicy;
typedef RetryPolicy* RetryPolicy_ptr;
typedef RetryPolicy* RetryPolicyRef;
extern OB::TypeCodeConst _tc_RetryPolicy;
class TimeoutPolicy;
typedef TimeoutPolicy* TimeoutPolicy_ptr;
typedef TimeoutPolicy* TimeoutPolicyRef;
extern OB::TypeCodeConst _tc_TimeoutPolicy;
class LocationTransparencyPolicy;
typedef LocationTransparencyPolicy* LocationTransparencyPolicy_ptr;
typedef LocationTransparencyPolicy* LocationTransparencyPolicyRef;
extern OB::TypeCodeConst _tc_LocationTransparencyPolicy;
class InterceptorPolicy;
typedef InterceptorPolicy* InterceptorPolicy_ptr;
typedef InterceptorPolicy* InterceptorPolicyRef;
extern OB::TypeCodeConst _tc_InterceptorPolicy;
class ConnectTimeoutPolicy;
typedef ConnectTimeoutPolicy* ConnectTimeoutPolicy_ptr;
typedef ConnectTimeoutPolicy* ConnectTimeoutPolicyRef;
extern OB::TypeCodeConst _tc_ConnectTimeoutPolicy;
class RequestTimeoutPolicy;
typedef RequestTimeoutPolicy* RequestTimeoutPolicy_ptr;
typedef RequestTimeoutPolicy* RequestTimeoutPolicyRef;
extern OB::TypeCodeConst _tc_RequestTimeoutPolicy;
class LocateRequestPolicy;
typedef LocateRequestPolicy* LocateRequestPolicy_ptr;
typedef LocateRequestPolicy* LocateRequestPolicyRef;
extern OB::TypeCodeConst _tc_LocateRequestPolicy;
}
void OBDuplicate(OB::ProtocolPolicy_ptr);
void OBRelease(OB::ProtocolPolicy_ptr);
void OBMarshal(OB::ProtocolPolicy_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OB::ProtocolPolicy_ptr&, OB::InputStreamImpl*);
void OBDuplicate(OB::ConnectionReusePolicy_ptr);
void OBRelease(OB::ConnectionReusePolicy_ptr);
void OBMarshal(OB::ConnectionReusePolicy_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OB::ConnectionReusePolicy_ptr&, OB::InputStreamImpl*);
void OBDuplicate(OB::RetryPolicy_ptr);
void OBRelease(OB::RetryPolicy_ptr);
void OBMarshal(OB::RetryPolicy_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OB::RetryPolicy_ptr&, OB::InputStreamImpl*);
void OBDuplicate(OB::TimeoutPolicy_ptr);
void OBRelease(OB::TimeoutPolicy_ptr);
void OBMarshal(OB::TimeoutPolicy_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OB::TimeoutPolicy_ptr&, OB::InputStreamImpl*);
void OBDuplicate(OB::LocationTransparencyPolicy_ptr);
void OBRelease(OB::LocationTransparencyPolicy_ptr);
void OBMarshal(OB::LocationTransparencyPolicy_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OB::LocationTransparencyPolicy_ptr&, OB::InputStreamImpl*);
void OBDuplicate(OB::InterceptorPolicy_ptr);
void OBRelease(OB::InterceptorPolicy_ptr);
void OBMarshal(OB::InterceptorPolicy_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OB::InterceptorPolicy_ptr&, OB::InputStreamImpl*);
void OBDuplicate(OB::ConnectTimeoutPolicy_ptr);
void OBRelease(OB::ConnectTimeoutPolicy_ptr);
void OBMarshal(OB::ConnectTimeoutPolicy_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OB::ConnectTimeoutPolicy_ptr&, OB::InputStreamImpl*);
void OBDuplicate(OB::RequestTimeoutPolicy_ptr);
void OBRelease(OB::RequestTimeoutPolicy_ptr);
void OBMarshal(OB::RequestTimeoutPolicy_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OB::RequestTimeoutPolicy_ptr&, OB::InputStreamImpl*);
void OBDuplicate(OB::LocateRequestPolicy_ptr);
void OBRelease(OB::LocateRequestPolicy_ptr);
void OBMarshal(OB::LocateRequestPolicy_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OB::LocateRequestPolicy_ptr&, OB::InputStreamImpl*);
namespace OB
{
typedef OB::ObjVar< ProtocolPolicy > ProtocolPolicy_var;
typedef OB::ObjOut< ProtocolPolicy > ProtocolPolicy_out;
typedef OB::ObjVar< ConnectionReusePolicy > ConnectionReusePolicy_var;
typedef OB::ObjOut< ConnectionReusePolicy > ConnectionReusePolicy_out;
typedef OB::ObjVar< RetryPolicy > RetryPolicy_var;
typedef OB::ObjOut< RetryPolicy > RetryPolicy_out;
typedef OB::ObjVar< TimeoutPolicy > TimeoutPolicy_var;
typedef OB::ObjOut< TimeoutPolicy > TimeoutPolicy_out;
typedef OB::ObjVar< LocationTransparencyPolicy > LocationTransparencyPolicy_var;
typedef OB::ObjOut< LocationTransparencyPolicy > LocationTransparencyPolicy_out;
typedef OB::ObjVar< InterceptorPolicy > InterceptorPolicy_var;
typedef OB::ObjOut< InterceptorPolicy > InterceptorPolicy_out;
typedef OB::ObjVar< ConnectTimeoutPolicy > ConnectTimeoutPolicy_var;
typedef OB::ObjOut< ConnectTimeoutPolicy > ConnectTimeoutPolicy_out;
typedef OB::ObjVar< RequestTimeoutPolicy > RequestTimeoutPolicy_var;
typedef OB::ObjOut< RequestTimeoutPolicy > RequestTimeoutPolicy_out;
typedef OB::ObjVar< LocateRequestPolicy > LocateRequestPolicy_var;
typedef OB::ObjOut< LocateRequestPolicy > LocateRequestPolicy_out;
}
# 30 "../../include/OB/OBPolicies.h" 2
# 41 "../../include/OB/OBPolicies.h"
namespace OBStubImpl_OB
{
}
namespace OBStubImpl_OB
{
}
namespace OB
{
const ::CORBA::PolicyType PROTOCOL_POLICY_ID = 1330577410U;
class ProtocolPolicy : virtual public ::CORBA::Policy
{
ProtocolPolicy(const ProtocolPolicy&);
void operator=(const ProtocolPolicy&);
protected:
static const char* ids_[];
public:
ProtocolPolicy() { }
virtual ~ProtocolPolicy() { }
typedef ProtocolPolicy_ptr _ptr_type;
typedef ProtocolPolicy_var _var_type;
static inline ProtocolPolicy_ptr
_duplicate(ProtocolPolicy_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline ProtocolPolicy_ptr
_nil()
{
return 0;
}
static ProtocolPolicy_ptr _narrow(CORBA::Object_ptr);
static ProtocolPolicy_ptr _narrow(CORBA::AbstractBase_ptr);
virtual ::OCI::PluginIdSeq* value() = 0;
virtual CORBA::Boolean contains(const char* id) = 0;
};
const ::CORBA::PolicyType CONNECTION_REUSE_POLICY_ID = 1330577411U;
class ConnectionReusePolicy : virtual public ::CORBA::Policy
{
ConnectionReusePolicy(const ConnectionReusePolicy&);
void operator=(const ConnectionReusePolicy&);
protected:
static const char* ids_[];
public:
ConnectionReusePolicy() { }
virtual ~ConnectionReusePolicy() { }
typedef ConnectionReusePolicy_ptr _ptr_type;
typedef ConnectionReusePolicy_var _var_type;
static inline ConnectionReusePolicy_ptr
_duplicate(ConnectionReusePolicy_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline ConnectionReusePolicy_ptr
_nil()
{
return 0;
}
static ConnectionReusePolicy_ptr _narrow(CORBA::Object_ptr);
static ConnectionReusePolicy_ptr _narrow(CORBA::AbstractBase_ptr);
virtual CORBA::Boolean value() = 0;
};
const CORBA::Short RETRY_NEVER = 0;
const CORBA::Short RETRY_STRICT = 1;
const CORBA::Short RETRY_ALWAYS = 2;
struct RetryAttributes;
typedef OB::FixVar< RetryAttributes > RetryAttributes_var;
typedef RetryAttributes& RetryAttributes_out;
struct RetryAttributes
{
typedef RetryAttributes_var _var_type;
CORBA::Short mode;
CORBA::ULong interval;
CORBA::ULong max;
CORBA::Boolean remote;
void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(RetryAttributes&, OB::InputStreamImpl*);
};
extern OB::TypeCodeConst _tc_RetryAttributes;
const ::CORBA::PolicyType RETRY_POLICY_ID = 1330577412U;
class RetryPolicy : virtual public ::CORBA::Policy
{
RetryPolicy(const RetryPolicy&);
void operator=(const RetryPolicy&);
protected:
static const char* ids_[];
public:
RetryPolicy() { }
virtual ~RetryPolicy() { }
typedef RetryPolicy_ptr _ptr_type;
typedef RetryPolicy_var _var_type;
static inline RetryPolicy_ptr
_duplicate(RetryPolicy_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline RetryPolicy_ptr
_nil()
{
return 0;
}
static RetryPolicy_ptr _narrow(CORBA::Object_ptr);
static RetryPolicy_ptr _narrow(CORBA::AbstractBase_ptr);
virtual CORBA::Short retry_mode() = 0;
virtual CORBA::ULong retry_interval() = 0;
virtual CORBA::ULong retry_max() = 0;
virtual CORBA::Boolean retry_remote() = 0;
};
const ::CORBA::PolicyType TIMEOUT_POLICY_ID = 1330577413U;
class TimeoutPolicy : virtual public ::CORBA::Policy
{
TimeoutPolicy(const TimeoutPolicy&);
void operator=(const TimeoutPolicy&);
protected:
static const char* ids_[];
public:
TimeoutPolicy() { }
virtual ~TimeoutPolicy() { }
typedef TimeoutPolicy_ptr _ptr_type;
typedef TimeoutPolicy_var _var_type;
static inline TimeoutPolicy_ptr
_duplicate(TimeoutPolicy_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline TimeoutPolicy_ptr
_nil()
{
return 0;
}
static TimeoutPolicy_ptr _narrow(CORBA::Object_ptr);
static TimeoutPolicy_ptr _narrow(CORBA::AbstractBase_ptr);
virtual CORBA::ULong value() = 0;
};
const CORBA::Short LOCATION_TRANSPARENCY_STRICT = 0;
const CORBA::Short LOCATION_TRANSPARENCY_RELAXED = 1;
const ::CORBA::PolicyType LOCATION_TRANSPARENCY_POLICY_ID = 1330577414U;
class LocationTransparencyPolicy : virtual public ::CORBA::Policy
{
LocationTransparencyPolicy(const LocationTransparencyPolicy&);
void operator=(const LocationTransparencyPolicy&);
protected:
static const char* ids_[];
public:
LocationTransparencyPolicy() { }
virtual ~LocationTransparencyPolicy() { }
typedef LocationTransparencyPolicy_ptr _ptr_type;
typedef LocationTransparencyPolicy_var _var_type;
static inline LocationTransparencyPolicy_ptr
_duplicate(LocationTransparencyPolicy_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline LocationTransparencyPolicy_ptr
_nil()
{
return 0;
}
static LocationTransparencyPolicy_ptr _narrow(CORBA::Object_ptr);
static LocationTransparencyPolicy_ptr _narrow(CORBA::AbstractBase_ptr);
virtual CORBA::Short value() = 0;
};
const ::CORBA::PolicyType INTERCEPTOR_POLICY_ID = 1330577415U;
class InterceptorPolicy : virtual public ::CORBA::Policy
{
InterceptorPolicy(const InterceptorPolicy&);
void operator=(const InterceptorPolicy&);
protected:
static const char* ids_[];
public:
InterceptorPolicy() { }
virtual ~InterceptorPolicy() { }
typedef InterceptorPolicy_ptr _ptr_type;
typedef InterceptorPolicy_var _var_type;
static inline InterceptorPolicy_ptr
_duplicate(InterceptorPolicy_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline InterceptorPolicy_ptr
_nil()
{
return 0;
}
static InterceptorPolicy_ptr _narrow(CORBA::Object_ptr);
static InterceptorPolicy_ptr _narrow(CORBA::AbstractBase_ptr);
virtual CORBA::Boolean value() = 0;
};
const ::CORBA::PolicyType CONNECT_TIMEOUT_POLICY_ID = 1330577416U;
class ConnectTimeoutPolicy : virtual public ::CORBA::Policy
{
ConnectTimeoutPolicy(const ConnectTimeoutPolicy&);
void operator=(const ConnectTimeoutPolicy&);
protected:
static const char* ids_[];
public:
ConnectTimeoutPolicy() { }
virtual ~ConnectTimeoutPolicy() { }
typedef ConnectTimeoutPolicy_ptr _ptr_type;
typedef ConnectTimeoutPolicy_var _var_type;
static inline ConnectTimeoutPolicy_ptr
_duplicate(ConnectTimeoutPolicy_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline ConnectTimeoutPolicy_ptr
_nil()
{
return 0;
}
static ConnectTimeoutPolicy_ptr _narrow(CORBA::Object_ptr);
static ConnectTimeoutPolicy_ptr _narrow(CORBA::AbstractBase_ptr);
virtual CORBA::ULong value() = 0;
};
const ::CORBA::PolicyType REQUEST_TIMEOUT_POLICY_ID = 1330577417U;
class RequestTimeoutPolicy : virtual public ::CORBA::Policy
{
RequestTimeoutPolicy(const RequestTimeoutPolicy&);
void operator=(const RequestTimeoutPolicy&);
protected:
static const char* ids_[];
public:
RequestTimeoutPolicy() { }
virtual ~RequestTimeoutPolicy() { }
typedef RequestTimeoutPolicy_ptr _ptr_type;
typedef RequestTimeoutPolicy_var _var_type;
static inline RequestTimeoutPolicy_ptr
_duplicate(RequestTimeoutPolicy_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline RequestTimeoutPolicy_ptr
_nil()
{
return 0;
}
static RequestTimeoutPolicy_ptr _narrow(CORBA::Object_ptr);
static RequestTimeoutPolicy_ptr _narrow(CORBA::AbstractBase_ptr);
virtual CORBA::ULong value() = 0;
};
const ::CORBA::PolicyType LOCATE_REQUEST_POLICY_ID = 1330577418U;
class LocateRequestPolicy : virtual public ::CORBA::Policy
{
LocateRequestPolicy(const LocateRequestPolicy&);
void operator=(const LocateRequestPolicy&);
protected:
static const char* ids_[];
public:
LocateRequestPolicy() { }
virtual ~LocateRequestPolicy() { }
typedef LocateRequestPolicy_ptr _ptr_type;
typedef LocateRequestPolicy_var _var_type;
static inline LocateRequestPolicy_ptr
_duplicate(LocateRequestPolicy_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline LocateRequestPolicy_ptr
_nil()
{
return 0;
}
static LocateRequestPolicy_ptr _narrow(CORBA::Object_ptr);
static LocateRequestPolicy_ptr _narrow(CORBA::AbstractBase_ptr);
virtual CORBA::Boolean value() = 0;
};
}
namespace OBProxy_OB
{
}
namespace OBStubImpl_OB
{
}
namespace OBMarshalStubImpl_OB
{
}
namespace OBV_OB
{
}
namespace CORBA
{
inline void
release(::OB::ProtocolPolicy_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::OB::ProtocolPolicy_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, OB::ProtocolPolicy_ptr*);
void operator<<=(CORBA::Any&, OB::ProtocolPolicy_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, OB::ProtocolPolicy_ptr&);
inline void
operator<<=(CORBA::Any_var& any, OB::ProtocolPolicy_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, OB::ProtocolPolicy_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, OB::ProtocolPolicy_ptr& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::OB::ConnectionReusePolicy_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::OB::ConnectionReusePolicy_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, OB::ConnectionReusePolicy_ptr*);
void operator<<=(CORBA::Any&, OB::ConnectionReusePolicy_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, OB::ConnectionReusePolicy_ptr&);
inline void
operator<<=(CORBA::Any_var& any, OB::ConnectionReusePolicy_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, OB::ConnectionReusePolicy_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, OB::ConnectionReusePolicy_ptr& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, OB::RetryAttributes*);
void operator<<=(CORBA::Any&, const OB::RetryAttributes&);
CORBA::Boolean operator>>=(const CORBA::Any&, const OB::RetryAttributes*&);
inline void
operator<<=(CORBA::Any_var& any, OB::RetryAttributes* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const OB::RetryAttributes& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const OB::RetryAttributes*& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::OB::RetryPolicy_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::OB::RetryPolicy_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, OB::RetryPolicy_ptr*);
void operator<<=(CORBA::Any&, OB::RetryPolicy_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, OB::RetryPolicy_ptr&);
inline void
operator<<=(CORBA::Any_var& any, OB::RetryPolicy_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, OB::RetryPolicy_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, OB::RetryPolicy_ptr& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::OB::TimeoutPolicy_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::OB::TimeoutPolicy_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, OB::TimeoutPolicy_ptr*);
void operator<<=(CORBA::Any&, OB::TimeoutPolicy_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, OB::TimeoutPolicy_ptr&);
inline void
operator<<=(CORBA::Any_var& any, OB::TimeoutPolicy_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, OB::TimeoutPolicy_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, OB::TimeoutPolicy_ptr& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::OB::LocationTransparencyPolicy_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::OB::LocationTransparencyPolicy_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, OB::LocationTransparencyPolicy_ptr*);
void operator<<=(CORBA::Any&, OB::LocationTransparencyPolicy_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, OB::LocationTransparencyPolicy_ptr&);
inline void
operator<<=(CORBA::Any_var& any, OB::LocationTransparencyPolicy_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, OB::LocationTransparencyPolicy_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, OB::LocationTransparencyPolicy_ptr& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::OB::InterceptorPolicy_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::OB::InterceptorPolicy_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, OB::InterceptorPolicy_ptr*);
void operator<<=(CORBA::Any&, OB::InterceptorPolicy_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, OB::InterceptorPolicy_ptr&);
inline void
operator<<=(CORBA::Any_var& any, OB::InterceptorPolicy_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, OB::InterceptorPolicy_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, OB::InterceptorPolicy_ptr& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::OB::ConnectTimeoutPolicy_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::OB::ConnectTimeoutPolicy_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, OB::ConnectTimeoutPolicy_ptr*);
void operator<<=(CORBA::Any&, OB::ConnectTimeoutPolicy_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, OB::ConnectTimeoutPolicy_ptr&);
inline void
operator<<=(CORBA::Any_var& any, OB::ConnectTimeoutPolicy_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, OB::ConnectTimeoutPolicy_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, OB::ConnectTimeoutPolicy_ptr& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::OB::RequestTimeoutPolicy_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::OB::RequestTimeoutPolicy_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, OB::RequestTimeoutPolicy_ptr*);
void operator<<=(CORBA::Any&, OB::RequestTimeoutPolicy_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, OB::RequestTimeoutPolicy_ptr&);
inline void
operator<<=(CORBA::Any_var& any, OB::RequestTimeoutPolicy_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, OB::RequestTimeoutPolicy_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, OB::RequestTimeoutPolicy_ptr& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::OB::LocateRequestPolicy_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::OB::LocateRequestPolicy_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, OB::LocateRequestPolicy_ptr*);
void operator<<=(CORBA::Any&, OB::LocateRequestPolicy_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, OB::LocateRequestPolicy_ptr&);
inline void
operator<<=(CORBA::Any_var& any, OB::LocateRequestPolicy_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, OB::LocateRequestPolicy_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, OB::LocateRequestPolicy_ptr& val)
{
return any.in() >>= val;
}
# 29 "../../include/OB/OBORB.h" 2
# 1 "../../include/OB/Messaging.h" 1
# 27 "../../include/OB/Messaging.h"
# 1 "../../include/OB/Policy.h" 1
# 28 "../../include/OB/Messaging.h" 2
# 1 "../../include/OB/IOP.h" 1
# 29 "../../include/OB/Messaging.h" 2
# 1 "../../include/OB/TimeBase.h" 1
# 27 "../../include/OB/TimeBase.h"
# 1 "../../include/OB/TimeBase_fwd.h" 1
# 18 "../../include/OB/TimeBase_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 19 "../../include/OB/TimeBase_fwd.h" 2
# 39 "../../include/OB/TimeBase_fwd.h"
namespace TimeBase
{
}
namespace TimeBase
{
}
# 28 "../../include/OB/TimeBase.h" 2
# 39 "../../include/OB/TimeBase.h"
namespace OBStubImpl_TimeBase
{
}
namespace OBStubImpl_TimeBase
{
}
namespace TimeBase
{
typedef CORBA::ULongLong TimeT;
typedef CORBA::ULongLong_out TimeT_out;
extern OB::TypeCodeConst _tc_TimeT;
typedef CORBA::ULongLong InaccuracyT;
typedef CORBA::ULongLong_out InaccuracyT_out;
extern OB::TypeCodeConst _tc_InaccuracyT;
typedef CORBA::Short TdfT;
typedef CORBA::Short_out TdfT_out;
extern OB::TypeCodeConst _tc_TdfT;
struct UtcT;
typedef OB::FixVar< UtcT > UtcT_var;
typedef UtcT& UtcT_out;
struct UtcT
{
typedef UtcT_var _var_type;
TimeT time;
CORBA::ULong inacclo;
CORBA::UShort inacchi;
TdfT tdf;
void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(UtcT&, OB::InputStreamImpl*);
};
extern OB::TypeCodeConst _tc_UtcT;
struct IntervalT;
typedef OB::FixVar< IntervalT > IntervalT_var;
typedef IntervalT& IntervalT_out;
struct IntervalT
{
typedef IntervalT_var _var_type;
TimeT lower_bound;
TimeT upper_bound;
void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(IntervalT&, OB::InputStreamImpl*);
};
extern OB::TypeCodeConst _tc_IntervalT;
}
namespace OBProxy_TimeBase
{
}
namespace OBStubImpl_TimeBase
{
}
namespace OBMarshalStubImpl_TimeBase
{
}
namespace OBV_TimeBase
{
}
void operator<<=(CORBA::Any&, TimeBase::UtcT*);
void operator<<=(CORBA::Any&, const TimeBase::UtcT&);
CORBA::Boolean operator>>=(const CORBA::Any&, const TimeBase::UtcT*&);
inline void
operator<<=(CORBA::Any_var& any, TimeBase::UtcT* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const TimeBase::UtcT& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const TimeBase::UtcT*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, TimeBase::IntervalT*);
void operator<<=(CORBA::Any&, const TimeBase::IntervalT&);
CORBA::Boolean operator>>=(const CORBA::Any&, const TimeBase::IntervalT*&);
inline void
operator<<=(CORBA::Any_var& any, TimeBase::IntervalT* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const TimeBase::IntervalT& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const TimeBase::IntervalT*& val)
{
return any.in() >>= val;
}
# 30 "../../include/OB/Messaging.h" 2
# 1 "../../include/OB/Messaging_fwd.h" 1
# 18 "../../include/OB/Messaging_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 19 "../../include/OB/Messaging_fwd.h" 2
# 39 "../../include/OB/Messaging_fwd.h"
namespace Messaging
{
class RebindPolicy;
typedef RebindPolicy* RebindPolicy_ptr;
typedef RebindPolicy* RebindPolicyRef;
extern OB::TypeCodeConst _tc_RebindPolicy;
class SyncScopePolicy;
typedef SyncScopePolicy* SyncScopePolicy_ptr;
typedef SyncScopePolicy* SyncScopePolicyRef;
extern OB::TypeCodeConst _tc_SyncScopePolicy;
class RequestPriorityPolicy;
typedef RequestPriorityPolicy* RequestPriorityPolicy_ptr;
typedef RequestPriorityPolicy* RequestPriorityPolicyRef;
extern OB::TypeCodeConst _tc_RequestPriorityPolicy;
class ReplyPriorityPolicy;
typedef ReplyPriorityPolicy* ReplyPriorityPolicy_ptr;
typedef ReplyPriorityPolicy* ReplyPriorityPolicyRef;
extern OB::TypeCodeConst _tc_ReplyPriorityPolicy;
class RequestStartTimePolicy;
typedef RequestStartTimePolicy* RequestStartTimePolicy_ptr;
typedef RequestStartTimePolicy* RequestStartTimePolicyRef;
extern OB::TypeCodeConst _tc_RequestStartTimePolicy;
class RequestEndTimePolicy;
typedef RequestEndTimePolicy* RequestEndTimePolicy_ptr;
typedef RequestEndTimePolicy* RequestEndTimePolicyRef;
extern OB::TypeCodeConst _tc_RequestEndTimePolicy;
class ReplyStartTimePolicy;
typedef ReplyStartTimePolicy* ReplyStartTimePolicy_ptr;
typedef ReplyStartTimePolicy* ReplyStartTimePolicyRef;
extern OB::TypeCodeConst _tc_ReplyStartTimePolicy;
class ReplyEndTimePolicy;
typedef ReplyEndTimePolicy* ReplyEndTimePolicy_ptr;
typedef ReplyEndTimePolicy* ReplyEndTimePolicyRef;
extern OB::TypeCodeConst _tc_ReplyEndTimePolicy;
class RelativeRequestTimeoutPolicy;
typedef RelativeRequestTimeoutPolicy* RelativeRequestTimeoutPolicy_ptr;
typedef RelativeRequestTimeoutPolicy* RelativeRequestTimeoutPolicyRef;
extern OB::TypeCodeConst _tc_RelativeRequestTimeoutPolicy;
class RelativeRoundTripTimeoutPolicy;
typedef RelativeRoundTripTimeoutPolicy* RelativeRoundTripTimeoutPolicy_ptr;
typedef RelativeRoundTripTimeoutPolicy* RelativeRoundTripTimeoutPolicyRef;
extern OB::TypeCodeConst _tc_RelativeRoundTripTimeoutPolicy;
class RoutingPolicy;
typedef RoutingPolicy* RoutingPolicy_ptr;
typedef RoutingPolicy* RoutingPolicyRef;
extern OB::TypeCodeConst _tc_RoutingPolicy;
class MaxHopsPolicy;
typedef MaxHopsPolicy* MaxHopsPolicy_ptr;
typedef MaxHopsPolicy* MaxHopsPolicyRef;
extern OB::TypeCodeConst _tc_MaxHopsPolicy;
class QueueOrderPolicy;
typedef QueueOrderPolicy* QueueOrderPolicy_ptr;
typedef QueueOrderPolicy* QueueOrderPolicyRef;
extern OB::TypeCodeConst _tc_QueueOrderPolicy;
}
void OBDuplicate(Messaging::RebindPolicy_ptr);
void OBRelease(Messaging::RebindPolicy_ptr);
void OBMarshal(Messaging::RebindPolicy_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(Messaging::RebindPolicy_ptr&, OB::InputStreamImpl*);
void OBDuplicate(Messaging::SyncScopePolicy_ptr);
void OBRelease(Messaging::SyncScopePolicy_ptr);
void OBMarshal(Messaging::SyncScopePolicy_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(Messaging::SyncScopePolicy_ptr&, OB::InputStreamImpl*);
void OBDuplicate(Messaging::RequestPriorityPolicy_ptr);
void OBRelease(Messaging::RequestPriorityPolicy_ptr);
void OBMarshal(Messaging::RequestPriorityPolicy_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(Messaging::RequestPriorityPolicy_ptr&, OB::InputStreamImpl*);
void OBDuplicate(Messaging::ReplyPriorityPolicy_ptr);
void OBRelease(Messaging::ReplyPriorityPolicy_ptr);
void OBMarshal(Messaging::ReplyPriorityPolicy_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(Messaging::ReplyPriorityPolicy_ptr&, OB::InputStreamImpl*);
void OBDuplicate(Messaging::RequestStartTimePolicy_ptr);
void OBRelease(Messaging::RequestStartTimePolicy_ptr);
void OBMarshal(Messaging::RequestStartTimePolicy_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(Messaging::RequestStartTimePolicy_ptr&, OB::InputStreamImpl*);
void OBDuplicate(Messaging::RequestEndTimePolicy_ptr);
void OBRelease(Messaging::RequestEndTimePolicy_ptr);
void OBMarshal(Messaging::RequestEndTimePolicy_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(Messaging::RequestEndTimePolicy_ptr&, OB::InputStreamImpl*);
void OBDuplicate(Messaging::ReplyStartTimePolicy_ptr);
void OBRelease(Messaging::ReplyStartTimePolicy_ptr);
void OBMarshal(Messaging::ReplyStartTimePolicy_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(Messaging::ReplyStartTimePolicy_ptr&, OB::InputStreamImpl*);
void OBDuplicate(Messaging::ReplyEndTimePolicy_ptr);
void OBRelease(Messaging::ReplyEndTimePolicy_ptr);
void OBMarshal(Messaging::ReplyEndTimePolicy_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(Messaging::ReplyEndTimePolicy_ptr&, OB::InputStreamImpl*);
void OBDuplicate(Messaging::RelativeRequestTimeoutPolicy_ptr);
void OBRelease(Messaging::RelativeRequestTimeoutPolicy_ptr);
void OBMarshal(Messaging::RelativeRequestTimeoutPolicy_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(Messaging::RelativeRequestTimeoutPolicy_ptr&, OB::InputStreamImpl*);
void OBDuplicate(Messaging::RelativeRoundTripTimeoutPolicy_ptr);
void OBRelease(Messaging::RelativeRoundTripTimeoutPolicy_ptr);
void OBMarshal(Messaging::RelativeRoundTripTimeoutPolicy_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(Messaging::RelativeRoundTripTimeoutPolicy_ptr&, OB::InputStreamImpl*);
void OBDuplicate(Messaging::RoutingPolicy_ptr);
void OBRelease(Messaging::RoutingPolicy_ptr);
void OBMarshal(Messaging::RoutingPolicy_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(Messaging::RoutingPolicy_ptr&, OB::InputStreamImpl*);
void OBDuplicate(Messaging::MaxHopsPolicy_ptr);
void OBRelease(Messaging::MaxHopsPolicy_ptr);
void OBMarshal(Messaging::MaxHopsPolicy_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(Messaging::MaxHopsPolicy_ptr&, OB::InputStreamImpl*);
void OBDuplicate(Messaging::QueueOrderPolicy_ptr);
void OBRelease(Messaging::QueueOrderPolicy_ptr);
void OBMarshal(Messaging::QueueOrderPolicy_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(Messaging::QueueOrderPolicy_ptr&, OB::InputStreamImpl*);
namespace Messaging
{
typedef OB::ObjVar< RebindPolicy > RebindPolicy_var;
typedef OB::ObjOut< RebindPolicy > RebindPolicy_out;
typedef OB::ObjVar< SyncScopePolicy > SyncScopePolicy_var;
typedef OB::ObjOut< SyncScopePolicy > SyncScopePolicy_out;
typedef OB::ObjVar< RequestPriorityPolicy > RequestPriorityPolicy_var;
typedef OB::ObjOut< RequestPriorityPolicy > RequestPriorityPolicy_out;
typedef OB::ObjVar< ReplyPriorityPolicy > ReplyPriorityPolicy_var;
typedef OB::ObjOut< ReplyPriorityPolicy > ReplyPriorityPolicy_out;
typedef OB::ObjVar< RequestStartTimePolicy > RequestStartTimePolicy_var;
typedef OB::ObjOut< RequestStartTimePolicy > RequestStartTimePolicy_out;
typedef OB::ObjVar< RequestEndTimePolicy > RequestEndTimePolicy_var;
typedef OB::ObjOut< RequestEndTimePolicy > RequestEndTimePolicy_out;
typedef OB::ObjVar< ReplyStartTimePolicy > ReplyStartTimePolicy_var;
typedef OB::ObjOut< ReplyStartTimePolicy > ReplyStartTimePolicy_out;
typedef OB::ObjVar< ReplyEndTimePolicy > ReplyEndTimePolicy_var;
typedef OB::ObjOut< ReplyEndTimePolicy > ReplyEndTimePolicy_out;
typedef OB::ObjVar< RelativeRequestTimeoutPolicy > RelativeRequestTimeoutPolicy_var;
typedef OB::ObjOut< RelativeRequestTimeoutPolicy > RelativeRequestTimeoutPolicy_out;
typedef OB::ObjVar< RelativeRoundTripTimeoutPolicy > RelativeRoundTripTimeoutPolicy_var;
typedef OB::ObjOut< RelativeRoundTripTimeoutPolicy > RelativeRoundTripTimeoutPolicy_out;
typedef OB::ObjVar< RoutingPolicy > RoutingPolicy_var;
typedef OB::ObjOut< RoutingPolicy > RoutingPolicy_out;
typedef OB::ObjVar< MaxHopsPolicy > MaxHopsPolicy_var;
typedef OB::ObjOut< MaxHopsPolicy > MaxHopsPolicy_out;
typedef OB::ObjVar< QueueOrderPolicy > QueueOrderPolicy_var;
typedef OB::ObjOut< QueueOrderPolicy > QueueOrderPolicy_out;
}
# 31 "../../include/OB/Messaging.h" 2
# 42 "../../include/OB/Messaging.h"
namespace OBStubImpl_Messaging
{
}
namespace OBStubImpl_Messaging
{
}
namespace Messaging
{
typedef CORBA::Short RebindMode;
typedef CORBA::Short_out RebindMode_out;
extern OB::TypeCodeConst _tc_RebindMode;
const RebindMode TRANSPARENT = 0;
const RebindMode NO_REBIND = 1;
const RebindMode NO_RECONNECT = 2;
typedef CORBA::Short SyncScope;
typedef CORBA::Short_out SyncScope_out;
extern OB::TypeCodeConst _tc_SyncScope;
const SyncScope SYNC_NONE = 0;
const SyncScope SYNC_WITH_TRANSPORT = 1;
const SyncScope SYNC_WITH_SERVER = 2;
const SyncScope SYNC_WITH_TARGET = 3;
typedef CORBA::Short RoutingType;
typedef CORBA::Short_out RoutingType_out;
extern OB::TypeCodeConst _tc_RoutingType;
const RoutingType ROUTE_NONE = 0;
const RoutingType ROUTE_FORWARD = 1;
const RoutingType ROUTE_STORE_AND_FORWARD = 2;
typedef CORBA::Short Priority;
typedef CORBA::Short_out Priority_out;
extern OB::TypeCodeConst _tc_Priority;
typedef CORBA::UShort Ordering;
typedef CORBA::UShort_out Ordering_out;
extern OB::TypeCodeConst _tc_Ordering;
const Ordering ORDER_ANY = 1;
const Ordering ORDER_TEMPORAL = 2;
const Ordering ORDER_PRIORITY = 4;
const Ordering ORDER_DEADLINE = 8;
const ::CORBA::PolicyType REBIND_POLICY_TYPE = 23U;
class RebindPolicy : virtual public ::CORBA::Policy
{
RebindPolicy(const RebindPolicy&);
void operator=(const RebindPolicy&);
protected:
static const char* ids_[];
public:
RebindPolicy() { }
virtual ~RebindPolicy() { }
typedef RebindPolicy_ptr _ptr_type;
typedef RebindPolicy_var _var_type;
static inline RebindPolicy_ptr
_duplicate(RebindPolicy_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline RebindPolicy_ptr
_nil()
{
return 0;
}
static RebindPolicy_ptr _narrow(CORBA::Object_ptr);
static RebindPolicy_ptr _narrow(CORBA::AbstractBase_ptr);
virtual RebindMode rebind_mode() = 0;
};
const ::CORBA::PolicyType SYNC_SCOPE_POLICY_TYPE = 24U;
class SyncScopePolicy : virtual public ::CORBA::Policy
{
SyncScopePolicy(const SyncScopePolicy&);
void operator=(const SyncScopePolicy&);
protected:
static const char* ids_[];
public:
SyncScopePolicy() { }
virtual ~SyncScopePolicy() { }
typedef SyncScopePolicy_ptr _ptr_type;
typedef SyncScopePolicy_var _var_type;
static inline SyncScopePolicy_ptr
_duplicate(SyncScopePolicy_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline SyncScopePolicy_ptr
_nil()
{
return 0;
}
static SyncScopePolicy_ptr _narrow(CORBA::Object_ptr);
static SyncScopePolicy_ptr _narrow(CORBA::AbstractBase_ptr);
virtual SyncScope synchronization() = 0;
};
const ::CORBA::PolicyType REQUEST_PRIORITY_POLICY_TYPE = 25U;
struct PriorityRange;
typedef OB::FixVar< PriorityRange > PriorityRange_var;
typedef PriorityRange& PriorityRange_out;
struct PriorityRange
{
typedef PriorityRange_var _var_type;
Priority min;
Priority max;
void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(PriorityRange&, OB::InputStreamImpl*);
};
extern OB::TypeCodeConst _tc_PriorityRange;
class RequestPriorityPolicy : virtual public ::CORBA::Policy
{
RequestPriorityPolicy(const RequestPriorityPolicy&);
void operator=(const RequestPriorityPolicy&);
protected:
static const char* ids_[];
public:
RequestPriorityPolicy() { }
virtual ~RequestPriorityPolicy() { }
typedef RequestPriorityPolicy_ptr _ptr_type;
typedef RequestPriorityPolicy_var _var_type;
static inline RequestPriorityPolicy_ptr
_duplicate(RequestPriorityPolicy_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline RequestPriorityPolicy_ptr
_nil()
{
return 0;
}
static RequestPriorityPolicy_ptr _narrow(CORBA::Object_ptr);
static RequestPriorityPolicy_ptr _narrow(CORBA::AbstractBase_ptr);
virtual PriorityRange priority_range() = 0;
};
const ::CORBA::PolicyType REPLY_PRIORITY_POLICY_TYPE = 26U;
class ReplyPriorityPolicy : virtual public ::CORBA::Policy
{
ReplyPriorityPolicy(const ReplyPriorityPolicy&);
void operator=(const ReplyPriorityPolicy&);
protected:
static const char* ids_[];
public:
ReplyPriorityPolicy() { }
virtual ~ReplyPriorityPolicy() { }
typedef ReplyPriorityPolicy_ptr _ptr_type;
typedef ReplyPriorityPolicy_var _var_type;
static inline ReplyPriorityPolicy_ptr
_duplicate(ReplyPriorityPolicy_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline ReplyPriorityPolicy_ptr
_nil()
{
return 0;
}
static ReplyPriorityPolicy_ptr _narrow(CORBA::Object_ptr);
static ReplyPriorityPolicy_ptr _narrow(CORBA::AbstractBase_ptr);
virtual PriorityRange priority_range() = 0;
};
const ::CORBA::PolicyType REQUEST_START_TIME_POLICY_TYPE = 27U;
class RequestStartTimePolicy : virtual public ::CORBA::Policy
{
RequestStartTimePolicy(const RequestStartTimePolicy&);
void operator=(const RequestStartTimePolicy&);
protected:
static const char* ids_[];
public:
RequestStartTimePolicy() { }
virtual ~RequestStartTimePolicy() { }
typedef RequestStartTimePolicy_ptr _ptr_type;
typedef RequestStartTimePolicy_var _var_type;
static inline RequestStartTimePolicy_ptr
_duplicate(RequestStartTimePolicy_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline RequestStartTimePolicy_ptr
_nil()
{
return 0;
}
static RequestStartTimePolicy_ptr _narrow(CORBA::Object_ptr);
static RequestStartTimePolicy_ptr _narrow(CORBA::AbstractBase_ptr);
virtual ::TimeBase::UtcT start_time() = 0;
};
const ::CORBA::PolicyType REQUEST_END_TIME_POLICY_TYPE = 28U;
class RequestEndTimePolicy : virtual public ::CORBA::Policy
{
RequestEndTimePolicy(const RequestEndTimePolicy&);
void operator=(const RequestEndTimePolicy&);
protected:
static const char* ids_[];
public:
RequestEndTimePolicy() { }
virtual ~RequestEndTimePolicy() { }
typedef RequestEndTimePolicy_ptr _ptr_type;
typedef RequestEndTimePolicy_var _var_type;
static inline RequestEndTimePolicy_ptr
_duplicate(RequestEndTimePolicy_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline RequestEndTimePolicy_ptr
_nil()
{
return 0;
}
static RequestEndTimePolicy_ptr _narrow(CORBA::Object_ptr);
static RequestEndTimePolicy_ptr _narrow(CORBA::AbstractBase_ptr);
virtual ::TimeBase::UtcT end_time() = 0;
};
const ::CORBA::PolicyType REPLY_START_TIME_POLICY_TYPE = 29U;
class ReplyStartTimePolicy : virtual public ::CORBA::Policy
{
ReplyStartTimePolicy(const ReplyStartTimePolicy&);
void operator=(const ReplyStartTimePolicy&);
protected:
static const char* ids_[];
public:
ReplyStartTimePolicy() { }
virtual ~ReplyStartTimePolicy() { }
typedef ReplyStartTimePolicy_ptr _ptr_type;
typedef ReplyStartTimePolicy_var _var_type;
static inline ReplyStartTimePolicy_ptr
_duplicate(ReplyStartTimePolicy_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline ReplyStartTimePolicy_ptr
_nil()
{
return 0;
}
static ReplyStartTimePolicy_ptr _narrow(CORBA::Object_ptr);
static ReplyStartTimePolicy_ptr _narrow(CORBA::AbstractBase_ptr);
virtual ::TimeBase::UtcT start_time() = 0;
};
const ::CORBA::PolicyType REPLY_END_TIME_POLICY_TYPE = 30U;
class ReplyEndTimePolicy : virtual public ::CORBA::Policy
{
ReplyEndTimePolicy(const ReplyEndTimePolicy&);
void operator=(const ReplyEndTimePolicy&);
protected:
static const char* ids_[];
public:
ReplyEndTimePolicy() { }
virtual ~ReplyEndTimePolicy() { }
typedef ReplyEndTimePolicy_ptr _ptr_type;
typedef ReplyEndTimePolicy_var _var_type;
static inline ReplyEndTimePolicy_ptr
_duplicate(ReplyEndTimePolicy_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline ReplyEndTimePolicy_ptr
_nil()
{
return 0;
}
static ReplyEndTimePolicy_ptr _narrow(CORBA::Object_ptr);
static ReplyEndTimePolicy_ptr _narrow(CORBA::AbstractBase_ptr);
virtual ::TimeBase::UtcT end_time() = 0;
};
const ::CORBA::PolicyType RELATIVE_REQ_TIMEOUT_POLICY_TYPE = 31U;
class RelativeRequestTimeoutPolicy : virtual public ::CORBA::Policy
{
RelativeRequestTimeoutPolicy(const RelativeRequestTimeoutPolicy&);
void operator=(const RelativeRequestTimeoutPolicy&);
protected:
static const char* ids_[];
public:
RelativeRequestTimeoutPolicy() { }
virtual ~RelativeRequestTimeoutPolicy() { }
typedef RelativeRequestTimeoutPolicy_ptr _ptr_type;
typedef RelativeRequestTimeoutPolicy_var _var_type;
static inline RelativeRequestTimeoutPolicy_ptr
_duplicate(RelativeRequestTimeoutPolicy_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline RelativeRequestTimeoutPolicy_ptr
_nil()
{
return 0;
}
static RelativeRequestTimeoutPolicy_ptr _narrow(CORBA::Object_ptr);
static RelativeRequestTimeoutPolicy_ptr _narrow(CORBA::AbstractBase_ptr);
virtual ::TimeBase::TimeT relative_expiry() = 0;
};
const ::CORBA::PolicyType RELATIVE_RT_TIMEOUT_POLICY_TYPE = 32U;
class RelativeRoundTripTimeoutPolicy : virtual public ::CORBA::Policy
{
RelativeRoundTripTimeoutPolicy(const RelativeRoundTripTimeoutPolicy&);
void operator=(const RelativeRoundTripTimeoutPolicy&);
protected:
static const char* ids_[];
public:
RelativeRoundTripTimeoutPolicy() { }
virtual ~RelativeRoundTripTimeoutPolicy() { }
typedef RelativeRoundTripTimeoutPolicy_ptr _ptr_type;
typedef RelativeRoundTripTimeoutPolicy_var _var_type;
static inline RelativeRoundTripTimeoutPolicy_ptr
_duplicate(RelativeRoundTripTimeoutPolicy_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline RelativeRoundTripTimeoutPolicy_ptr
_nil()
{
return 0;
}
static RelativeRoundTripTimeoutPolicy_ptr _narrow(CORBA::Object_ptr);
static RelativeRoundTripTimeoutPolicy_ptr _narrow(CORBA::AbstractBase_ptr);
virtual ::TimeBase::TimeT relative_expiry() = 0;
};
const ::CORBA::PolicyType ROUTING_POLICY_TYPE = 33U;
struct RoutingTypeRange;
typedef OB::FixVar< RoutingTypeRange > RoutingTypeRange_var;
typedef RoutingTypeRange& RoutingTypeRange_out;
struct RoutingTypeRange
{
typedef RoutingTypeRange_var _var_type;
RoutingType min;
RoutingType max;
void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(RoutingTypeRange&, OB::InputStreamImpl*);
};
extern OB::TypeCodeConst _tc_RoutingTypeRange;
class RoutingPolicy : virtual public ::CORBA::Policy
{
RoutingPolicy(const RoutingPolicy&);
void operator=(const RoutingPolicy&);
protected:
static const char* ids_[];
public:
RoutingPolicy() { }
virtual ~RoutingPolicy() { }
typedef RoutingPolicy_ptr _ptr_type;
typedef RoutingPolicy_var _var_type;
static inline RoutingPolicy_ptr
_duplicate(RoutingPolicy_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline RoutingPolicy_ptr
_nil()
{
return 0;
}
static RoutingPolicy_ptr _narrow(CORBA::Object_ptr);
static RoutingPolicy_ptr _narrow(CORBA::AbstractBase_ptr);
virtual RoutingTypeRange routing_range() = 0;
};
const ::CORBA::PolicyType MAX_HOPS_POLICY_TYPE = 34U;
class MaxHopsPolicy : virtual public ::CORBA::Policy
{
MaxHopsPolicy(const MaxHopsPolicy&);
void operator=(const MaxHopsPolicy&);
protected:
static const char* ids_[];
public:
MaxHopsPolicy() { }
virtual ~MaxHopsPolicy() { }
typedef MaxHopsPolicy_ptr _ptr_type;
typedef MaxHopsPolicy_var _var_type;
static inline MaxHopsPolicy_ptr
_duplicate(MaxHopsPolicy_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline MaxHopsPolicy_ptr
_nil()
{
return 0;
}
static MaxHopsPolicy_ptr _narrow(CORBA::Object_ptr);
static MaxHopsPolicy_ptr _narrow(CORBA::AbstractBase_ptr);
virtual CORBA::UShort max_hops() = 0;
};
const ::CORBA::PolicyType QUEUE_ORDER_POLICY_TYPE = 35U;
class QueueOrderPolicy : virtual public ::CORBA::Policy
{
QueueOrderPolicy(const QueueOrderPolicy&);
void operator=(const QueueOrderPolicy&);
protected:
static const char* ids_[];
public:
QueueOrderPolicy() { }
virtual ~QueueOrderPolicy() { }
typedef QueueOrderPolicy_ptr _ptr_type;
typedef QueueOrderPolicy_var _var_type;
static inline QueueOrderPolicy_ptr
_duplicate(QueueOrderPolicy_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline QueueOrderPolicy_ptr
_nil()
{
return 0;
}
static QueueOrderPolicy_ptr _narrow(CORBA::Object_ptr);
static QueueOrderPolicy_ptr _narrow(CORBA::AbstractBase_ptr);
virtual Ordering allowed_orders() = 0;
};
struct PolicyValue;
typedef OB::VarVar< PolicyValue > PolicyValue_var;
typedef OB::VarOut< PolicyValue > PolicyValue_out;
struct PolicyValue
{
PolicyValue() { }
PolicyValue(const PolicyValue&);
PolicyValue& operator=(const PolicyValue&);
typedef PolicyValue_var _var_type;
::CORBA::PolicyType ptype;
class OBUnique_pvalue { };
typedef OB::FixSeq< CORBA::Octet, OBUnique_pvalue > _pvalue_seq;
_pvalue_seq pvalue;
void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(PolicyValue&, OB::InputStreamImpl*);
};
extern OB::TypeCodeConst _tc_PolicyValue;
class OBUnique_PolicyValueSeq { };
typedef OB::VarSeq< PolicyValue, OBUnique_PolicyValueSeq > PolicyValueSeq;
typedef OB::SeqVar< OB::VarSeq< PolicyValue, OBUnique_PolicyValueSeq > > PolicyValueSeq_var;
typedef OB::SeqOut< OB::VarSeq< PolicyValue, OBUnique_PolicyValueSeq > > PolicyValueSeq_out;
extern OB::TypeCodeConst _tc_PolicyValueSeq;
struct OBInfo_PolicyValueSeq : public OB::ConstructedInfo
{
OBInfo_PolicyValueSeq() { }
virtual void free(void* p) const
{
delete (PolicyValueSeq*)p;
}
virtual void* dup(const void* p) const
{
return new PolicyValueSeq(*(const PolicyValueSeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
const ::IOP::ComponentId TAG_POLICIES = 2U;
const ::IOP::ServiceId INVOCATION_POLICIES = 7U;
}
namespace OBProxy_Messaging
{
}
namespace OBStubImpl_Messaging
{
}
namespace OBMarshalStubImpl_Messaging
{
}
namespace OBV_Messaging
{
}
namespace CORBA
{
inline void
release(::Messaging::RebindPolicy_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::Messaging::RebindPolicy_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, Messaging::RebindPolicy_ptr*);
void operator<<=(CORBA::Any&, Messaging::RebindPolicy_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, Messaging::RebindPolicy_ptr&);
inline void
operator<<=(CORBA::Any_var& any, Messaging::RebindPolicy_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, Messaging::RebindPolicy_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, Messaging::RebindPolicy_ptr& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::Messaging::SyncScopePolicy_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::Messaging::SyncScopePolicy_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, Messaging::SyncScopePolicy_ptr*);
void operator<<=(CORBA::Any&, Messaging::SyncScopePolicy_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, Messaging::SyncScopePolicy_ptr&);
inline void
operator<<=(CORBA::Any_var& any, Messaging::SyncScopePolicy_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, Messaging::SyncScopePolicy_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, Messaging::SyncScopePolicy_ptr& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, Messaging::PriorityRange*);
void operator<<=(CORBA::Any&, const Messaging::PriorityRange&);
CORBA::Boolean operator>>=(const CORBA::Any&, const Messaging::PriorityRange*&);
inline void
operator<<=(CORBA::Any_var& any, Messaging::PriorityRange* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const Messaging::PriorityRange& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const Messaging::PriorityRange*& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::Messaging::RequestPriorityPolicy_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::Messaging::RequestPriorityPolicy_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, Messaging::RequestPriorityPolicy_ptr*);
void operator<<=(CORBA::Any&, Messaging::RequestPriorityPolicy_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, Messaging::RequestPriorityPolicy_ptr&);
inline void
operator<<=(CORBA::Any_var& any, Messaging::RequestPriorityPolicy_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, Messaging::RequestPriorityPolicy_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, Messaging::RequestPriorityPolicy_ptr& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::Messaging::ReplyPriorityPolicy_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::Messaging::ReplyPriorityPolicy_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, Messaging::ReplyPriorityPolicy_ptr*);
void operator<<=(CORBA::Any&, Messaging::ReplyPriorityPolicy_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, Messaging::ReplyPriorityPolicy_ptr&);
inline void
operator<<=(CORBA::Any_var& any, Messaging::ReplyPriorityPolicy_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, Messaging::ReplyPriorityPolicy_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, Messaging::ReplyPriorityPolicy_ptr& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::Messaging::RequestStartTimePolicy_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::Messaging::RequestStartTimePolicy_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, Messaging::RequestStartTimePolicy_ptr*);
void operator<<=(CORBA::Any&, Messaging::RequestStartTimePolicy_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, Messaging::RequestStartTimePolicy_ptr&);
inline void
operator<<=(CORBA::Any_var& any, Messaging::RequestStartTimePolicy_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, Messaging::RequestStartTimePolicy_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, Messaging::RequestStartTimePolicy_ptr& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::Messaging::RequestEndTimePolicy_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::Messaging::RequestEndTimePolicy_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, Messaging::RequestEndTimePolicy_ptr*);
void operator<<=(CORBA::Any&, Messaging::RequestEndTimePolicy_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, Messaging::RequestEndTimePolicy_ptr&);
inline void
operator<<=(CORBA::Any_var& any, Messaging::RequestEndTimePolicy_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, Messaging::RequestEndTimePolicy_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, Messaging::RequestEndTimePolicy_ptr& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::Messaging::ReplyStartTimePolicy_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::Messaging::ReplyStartTimePolicy_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, Messaging::ReplyStartTimePolicy_ptr*);
void operator<<=(CORBA::Any&, Messaging::ReplyStartTimePolicy_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, Messaging::ReplyStartTimePolicy_ptr&);
inline void
operator<<=(CORBA::Any_var& any, Messaging::ReplyStartTimePolicy_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, Messaging::ReplyStartTimePolicy_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, Messaging::ReplyStartTimePolicy_ptr& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::Messaging::ReplyEndTimePolicy_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::Messaging::ReplyEndTimePolicy_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, Messaging::ReplyEndTimePolicy_ptr*);
void operator<<=(CORBA::Any&, Messaging::ReplyEndTimePolicy_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, Messaging::ReplyEndTimePolicy_ptr&);
inline void
operator<<=(CORBA::Any_var& any, Messaging::ReplyEndTimePolicy_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, Messaging::ReplyEndTimePolicy_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, Messaging::ReplyEndTimePolicy_ptr& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::Messaging::RelativeRequestTimeoutPolicy_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::Messaging::RelativeRequestTimeoutPolicy_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, Messaging::RelativeRequestTimeoutPolicy_ptr*);
void operator<<=(CORBA::Any&, Messaging::RelativeRequestTimeoutPolicy_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, Messaging::RelativeRequestTimeoutPolicy_ptr&);
inline void
operator<<=(CORBA::Any_var& any, Messaging::RelativeRequestTimeoutPolicy_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, Messaging::RelativeRequestTimeoutPolicy_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, Messaging::RelativeRequestTimeoutPolicy_ptr& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::Messaging::RelativeRoundTripTimeoutPolicy_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::Messaging::RelativeRoundTripTimeoutPolicy_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, Messaging::RelativeRoundTripTimeoutPolicy_ptr*);
void operator<<=(CORBA::Any&, Messaging::RelativeRoundTripTimeoutPolicy_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, Messaging::RelativeRoundTripTimeoutPolicy_ptr&);
inline void
operator<<=(CORBA::Any_var& any, Messaging::RelativeRoundTripTimeoutPolicy_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, Messaging::RelativeRoundTripTimeoutPolicy_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, Messaging::RelativeRoundTripTimeoutPolicy_ptr& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, Messaging::RoutingTypeRange*);
void operator<<=(CORBA::Any&, const Messaging::RoutingTypeRange&);
CORBA::Boolean operator>>=(const CORBA::Any&, const Messaging::RoutingTypeRange*&);
inline void
operator<<=(CORBA::Any_var& any, Messaging::RoutingTypeRange* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const Messaging::RoutingTypeRange& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const Messaging::RoutingTypeRange*& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::Messaging::RoutingPolicy_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::Messaging::RoutingPolicy_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, Messaging::RoutingPolicy_ptr*);
void operator<<=(CORBA::Any&, Messaging::RoutingPolicy_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, Messaging::RoutingPolicy_ptr&);
inline void
operator<<=(CORBA::Any_var& any, Messaging::RoutingPolicy_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, Messaging::RoutingPolicy_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, Messaging::RoutingPolicy_ptr& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::Messaging::MaxHopsPolicy_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::Messaging::MaxHopsPolicy_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, Messaging::MaxHopsPolicy_ptr*);
void operator<<=(CORBA::Any&, Messaging::MaxHopsPolicy_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, Messaging::MaxHopsPolicy_ptr&);
inline void
operator<<=(CORBA::Any_var& any, Messaging::MaxHopsPolicy_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, Messaging::MaxHopsPolicy_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, Messaging::MaxHopsPolicy_ptr& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::Messaging::QueueOrderPolicy_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::Messaging::QueueOrderPolicy_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, Messaging::QueueOrderPolicy_ptr*);
void operator<<=(CORBA::Any&, Messaging::QueueOrderPolicy_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, Messaging::QueueOrderPolicy_ptr&);
inline void
operator<<=(CORBA::Any_var& any, Messaging::QueueOrderPolicy_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, Messaging::QueueOrderPolicy_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, Messaging::QueueOrderPolicy_ptr& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, Messaging::PolicyValue*);
void operator<<=(CORBA::Any&, const Messaging::PolicyValue&);
CORBA::Boolean operator>>=(const CORBA::Any&, const Messaging::PolicyValue*&);
inline void
operator<<=(CORBA::Any_var& any, Messaging::PolicyValue* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const Messaging::PolicyValue& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const Messaging::PolicyValue*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, Messaging::PolicyValueSeq*);
void operator<<=(CORBA::Any&, const Messaging::PolicyValueSeq&);
CORBA::Boolean operator>>=(const CORBA::Any&, const Messaging::PolicyValueSeq*&);
inline void
operator<<=(CORBA::Any_var& any, Messaging::PolicyValueSeq* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const Messaging::PolicyValueSeq& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const Messaging::PolicyValueSeq*& val)
{
return any.in() >>= val;
}
# 30 "../../include/OB/OBORB.h" 2
# 1 "../../include/OB/IFR1.h" 1
# 27 "../../include/OB/IFR1.h"
# 1 "../../include/OB/Types.h" 1
# 28 "../../include/OB/IFR1.h" 2
# 1 "../../include/OB/IFR1_fwd.h" 1
# 18 "../../include/OB/IFR1_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 19 "../../include/OB/IFR1_fwd.h" 2
# 39 "../../include/OB/IFR1_fwd.h"
namespace CORBA
{
class IRObject;
typedef IRObject* IRObject_ptr;
typedef IRObject* IRObjectRef;
extern OB::TypeCodeConst _tc_IRObject;
class IDLType;
typedef IDLType* IDLType_ptr;
typedef IDLType* IDLTypeRef;
extern OB::TypeCodeConst _tc_IDLType;
}
void OBDuplicate(CORBA::IRObject_ptr);
void OBRelease(CORBA::IRObject_ptr);
void OBMarshal(CORBA::IRObject_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::IRObject_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::IDLType_ptr);
void OBRelease(CORBA::IDLType_ptr);
void OBMarshal(CORBA::IDLType_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::IDLType_ptr&, OB::InputStreamImpl*);
namespace CORBA
{
typedef OB::ObjVar< IRObject > IRObject_var;
typedef OB::ObjOut< IRObject > IRObject_out;
typedef OB::ObjVar< IDLType > IDLType_var;
typedef OB::ObjOut< IDLType > IDLType_out;
}
# 29 "../../include/OB/IFR1.h" 2
# 40 "../../include/OB/IFR1.h"
namespace OBStubImpl_CORBA
{
class IRObject;
typedef IRObject* IRObject_ptr;
class IDLType;
typedef IDLType* IDLType_ptr;
}
void OBDuplicate(OBStubImpl_CORBA::IRObject_ptr);
void OBRelease(OBStubImpl_CORBA::IRObject_ptr);
void OBDuplicate(OBStubImpl_CORBA::IDLType_ptr);
void OBRelease(OBStubImpl_CORBA::IDLType_ptr);
namespace OBStubImpl_CORBA
{
typedef OB::ObjVar< IRObject > IRObject_var;
typedef OB::ObjVar< IDLType > IDLType_var;
}
namespace CORBA
{
enum DefinitionKind
{
dk_none,
dk_all,
dk_Attribute,
dk_Constant,
dk_Exception,
dk_Interface,
dk_Module,
dk_Operation,
dk_Typedef,
dk_Alias,
dk_Struct,
dk_Union,
dk_Enum,
dk_Primitive,
dk_String,
dk_Sequence,
dk_Array,
dk_Repository,
dk_Wstring,
dk_Fixed,
dk_Value,
dk_ValueBox,
dk_ValueMember,
dk_Native,
dk_AbstractInterface,
dk_LocalInterface
};
typedef DefinitionKind& DefinitionKind_out;
extern OB::TypeCodeConst _tc_DefinitionKind;
class IRObject : virtual public CORBA::Object
{
IRObject(const IRObject&);
void operator=(const IRObject&);
protected:
static const char* ids_[];
public:
IRObject() { }
virtual ~IRObject() { }
typedef IRObject_ptr _ptr_type;
typedef IRObject_var _var_type;
static inline IRObject_ptr
_duplicate(IRObject_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline IRObject_ptr
_nil()
{
return 0;
}
static IRObject_ptr _narrow(CORBA::Object_ptr);
static IRObject_ptr _unchecked_narrow(CORBA::Object_ptr);
static IRObject_ptr _narrow(CORBA::AbstractBase_ptr);
static IRObject_ptr _unchecked_narrow(CORBA::AbstractBase_ptr);
static const char** _OB_staticIds();
virtual DefinitionKind def_kind() = 0;
virtual void destroy() = 0;
};
class IDLType : virtual public ::CORBA::IRObject
{
IDLType(const IDLType&);
void operator=(const IDLType&);
protected:
static const char* ids_[];
public:
IDLType() { }
virtual ~IDLType() { }
typedef IDLType_ptr _ptr_type;
typedef IDLType_var _var_type;
static inline IDLType_ptr
_duplicate(IDLType_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline IDLType_ptr
_nil()
{
return 0;
}
static IDLType_ptr _narrow(CORBA::Object_ptr);
static IDLType_ptr _unchecked_narrow(CORBA::Object_ptr);
static IDLType_ptr _narrow(CORBA::AbstractBase_ptr);
static IDLType_ptr _unchecked_narrow(CORBA::AbstractBase_ptr);
static const char** _OB_staticIds();
virtual CORBA::TypeCode_ptr type() = 0;
};
struct StructMember;
typedef OB::VarVar< StructMember > StructMember_var;
typedef OB::VarOut< StructMember > StructMember_out;
struct StructMember
{
StructMember() { }
StructMember(const StructMember&);
StructMember& operator=(const StructMember&);
typedef StructMember_var _var_type;
OB::StrForStruct name;
CORBA::TypeCode_var type;
IDLType_var type_def;
void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(StructMember&, OB::InputStreamImpl*);
};
extern OB::TypeCodeConst _tc_StructMember;
class OBUnique_StructMemberSeq { };
typedef OB::VarSeq< StructMember, OBUnique_StructMemberSeq > StructMemberSeq;
typedef OB::SeqVar< OB::VarSeq< StructMember, OBUnique_StructMemberSeq > > StructMemberSeq_var;
typedef OB::SeqOut< OB::VarSeq< StructMember, OBUnique_StructMemberSeq > > StructMemberSeq_out;
extern OB::TypeCodeConst _tc_StructMemberSeq;
struct OBInfo_StructMemberSeq : public OB::ConstructedInfo
{
OBInfo_StructMemberSeq() { }
virtual void free(void* p) const
{
delete (StructMemberSeq*)p;
}
virtual void* dup(const void* p) const
{
return new StructMemberSeq(*(const StructMemberSeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
struct Initializer;
typedef OB::VarVar< Initializer > Initializer_var;
typedef OB::VarOut< Initializer > Initializer_out;
struct Initializer
{
Initializer() { }
Initializer(const Initializer&);
Initializer& operator=(const Initializer&);
typedef Initializer_var _var_type;
StructMemberSeq members;
OB::StrForStruct name;
void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(Initializer&, OB::InputStreamImpl*);
};
extern OB::TypeCodeConst _tc_Initializer;
class OBUnique_InitializerSeq { };
typedef OB::VarSeq< Initializer, OBUnique_InitializerSeq > InitializerSeq;
typedef OB::SeqVar< OB::VarSeq< Initializer, OBUnique_InitializerSeq > > InitializerSeq_var;
typedef OB::SeqOut< OB::VarSeq< Initializer, OBUnique_InitializerSeq > > InitializerSeq_out;
extern OB::TypeCodeConst _tc_InitializerSeq;
struct OBInfo_InitializerSeq : public OB::ConstructedInfo
{
OBInfo_InitializerSeq() { }
virtual void free(void* p) const
{
delete (InitializerSeq*)p;
}
virtual void* dup(const void* p) const
{
return new InitializerSeq(*(const InitializerSeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
struct UnionMember;
typedef OB::VarVar< UnionMember > UnionMember_var;
typedef OB::VarOut< UnionMember > UnionMember_out;
struct UnionMember
{
UnionMember() { }
UnionMember(const UnionMember&);
UnionMember& operator=(const UnionMember&);
typedef UnionMember_var _var_type;
OB::StrForStruct name;
CORBA::Any label;
CORBA::TypeCode_var type;
IDLType_var type_def;
void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(UnionMember&, OB::InputStreamImpl*);
};
extern OB::TypeCodeConst _tc_UnionMember;
class OBUnique_UnionMemberSeq { };
typedef OB::VarSeq< UnionMember, OBUnique_UnionMemberSeq > UnionMemberSeq;
typedef OB::SeqVar< OB::VarSeq< UnionMember, OBUnique_UnionMemberSeq > > UnionMemberSeq_var;
typedef OB::SeqOut< OB::VarSeq< UnionMember, OBUnique_UnionMemberSeq > > UnionMemberSeq_out;
extern OB::TypeCodeConst _tc_UnionMemberSeq;
struct OBInfo_UnionMemberSeq : public OB::ConstructedInfo
{
OBInfo_UnionMemberSeq() { }
virtual void free(void* p) const
{
delete (UnionMemberSeq*)p;
}
virtual void* dup(const void* p) const
{
return new UnionMemberSeq(*(const UnionMemberSeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
class OBUnique_EnumMemberSeq { };
typedef OB::StrSeq< OBUnique_EnumMemberSeq > EnumMemberSeq;
typedef OB::SeqVar< OB::StrSeq< OBUnique_EnumMemberSeq > > EnumMemberSeq_var;
typedef OB::SeqOut< OB::StrSeq< OBUnique_EnumMemberSeq > > EnumMemberSeq_out;
extern OB::TypeCodeConst _tc_EnumMemberSeq;
struct OBInfo_EnumMemberSeq : public OB::ConstructedInfo
{
OBInfo_EnumMemberSeq() { }
virtual void free(void* p) const
{
delete (EnumMemberSeq*)p;
}
virtual void* dup(const void* p) const
{
return new EnumMemberSeq(*(const EnumMemberSeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
typedef CORBA::Short ValueModifier;
typedef CORBA::Short_out ValueModifier_out;
extern OB::TypeCodeConst _tc_ValueModifier;
const ValueModifier VM_NONE = 0;
const ValueModifier VM_CUSTOM = 1;
const ValueModifier VM_ABSTRACT = 2;
const ValueModifier VM_TRUNCATABLE = 3;
typedef CORBA::Short Visibility;
typedef CORBA::Short_out Visibility_out;
extern OB::TypeCodeConst _tc_Visibility;
const Visibility PRIVATE_MEMBER = 0;
const Visibility PUBLIC_MEMBER = 1;
struct ValueMember;
typedef OB::VarVar< ValueMember > ValueMember_var;
typedef OB::VarOut< ValueMember > ValueMember_out;
struct ValueMember
{
ValueMember() { }
ValueMember(const ValueMember&);
ValueMember& operator=(const ValueMember&);
typedef ValueMember_var _var_type;
OB::StrForStruct name;
OB::StrForStruct id;
OB::StrForStruct defined_in;
OB::StrForStruct version;
CORBA::TypeCode_var type;
IDLType_var type_def;
Visibility access;
void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(ValueMember&, OB::InputStreamImpl*);
};
extern OB::TypeCodeConst _tc_ValueMember;
class OBUnique_ValueMemberSeq { };
typedef OB::VarSeq< ValueMember, OBUnique_ValueMemberSeq > ValueMemberSeq;
typedef OB::SeqVar< OB::VarSeq< ValueMember, OBUnique_ValueMemberSeq > > ValueMemberSeq_var;
typedef OB::SeqOut< OB::VarSeq< ValueMember, OBUnique_ValueMemberSeq > > ValueMemberSeq_out;
extern OB::TypeCodeConst _tc_ValueMemberSeq;
struct OBInfo_ValueMemberSeq : public OB::ConstructedInfo
{
OBInfo_ValueMemberSeq() { }
virtual void free(void* p) const
{
delete (ValueMemberSeq*)p;
}
virtual void* dup(const void* p) const
{
return new ValueMemberSeq(*(const ValueMemberSeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
}
namespace OBProxy_CORBA
{
class IRObject : virtual public ::CORBA::IRObject,
virtual public OBCORBA::Object
{
IRObject(const IRObject&);
void operator=(const IRObject&);
protected:
virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();
public:
IRObject() { }
virtual ~IRObject() { }
virtual const char** _OB_ids() const;
::CORBA::DefinitionKind def_kind();
void destroy();
};
class IDLType : virtual public ::CORBA::IDLType,
virtual public OBProxy_CORBA::IRObject
{
IDLType(const IDLType&);
void operator=(const IDLType&);
protected:
virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();
public:
IDLType() { }
virtual ~IDLType() { }
virtual const char** _OB_ids() const;
CORBA::TypeCode_ptr type();
};
}
namespace OBStubImpl_CORBA
{
class IRObject : virtual public OB::StubImplBase
{
IRObject(const IRObject&);
void operator=(const IRObject&);
protected:
IRObject() { }
public:
static inline IRObject_ptr
_duplicate(IRObject_ptr p)
{
if(p)
p -> _OB_incRef();
return p;
}
static inline IRObject_ptr
_nil()
{
return 0;
}
virtual ::CORBA::DefinitionKind def_kind() = 0;
virtual void destroy() = 0;
};
class IDLType : virtual public OBStubImpl_CORBA::IRObject
{
IDLType(const IDLType&);
void operator=(const IDLType&);
protected:
IDLType() { }
public:
static inline IDLType_ptr
_duplicate(IDLType_ptr p)
{
if(p)
p -> _OB_incRef();
return p;
}
static inline IDLType_ptr
_nil()
{
return 0;
}
virtual CORBA::TypeCode_ptr type() = 0;
};
}
namespace OBMarshalStubImpl_CORBA
{
class IRObject : virtual public OBStubImpl_CORBA::IRObject,
virtual public OB::MarshalStubImpl
{
IRObject(const IRObject&);
void operator=(const IRObject&);
protected:
IRObject() { }
friend class OBProxy_CORBA::IRObject;
public:
virtual ::CORBA::DefinitionKind def_kind();
virtual void destroy();
};
class IDLType : virtual public OBStubImpl_CORBA::IDLType,
virtual public OBMarshalStubImpl_CORBA::IRObject
{
IDLType(const IDLType&);
void operator=(const IDLType&);
protected:
IDLType() { }
friend class OBProxy_CORBA::IDLType;
public:
virtual CORBA::TypeCode_ptr type();
};
}
namespace OBV_CORBA
{
}
void operator<<=(CORBA::Any&, CORBA::DefinitionKind);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::DefinitionKind&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::DefinitionKind val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::DefinitionKind& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::CORBA::IRObject_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::CORBA::IRObject_ptr p)
{
return p == 0;
}
inline void
release(OBStubImpl_CORBA::IRObject_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(OBStubImpl_CORBA::IRObject_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, CORBA::IRObject_ptr*);
void operator<<=(CORBA::Any&, CORBA::IRObject_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::IRObject_ptr&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::IRObject_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, CORBA::IRObject_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::IRObject_ptr& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::CORBA::IDLType_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::CORBA::IDLType_ptr p)
{
return p == 0;
}
inline void
release(OBStubImpl_CORBA::IDLType_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(OBStubImpl_CORBA::IDLType_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, CORBA::IDLType_ptr*);
void operator<<=(CORBA::Any&, CORBA::IDLType_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::IDLType_ptr&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::IDLType_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, CORBA::IDLType_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::IDLType_ptr& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::StructMember*);
void operator<<=(CORBA::Any&, const CORBA::StructMember&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::StructMember*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::StructMember* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::StructMember& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::StructMember*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::StructMemberSeq*);
void operator<<=(CORBA::Any&, const CORBA::StructMemberSeq&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::StructMemberSeq*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::StructMemberSeq* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::StructMemberSeq& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::StructMemberSeq*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::Initializer*);
void operator<<=(CORBA::Any&, const CORBA::Initializer&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::Initializer*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::Initializer* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::Initializer& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::Initializer*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::InitializerSeq*);
void operator<<=(CORBA::Any&, const CORBA::InitializerSeq&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::InitializerSeq*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::InitializerSeq* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::InitializerSeq& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::InitializerSeq*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::UnionMember*);
void operator<<=(CORBA::Any&, const CORBA::UnionMember&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::UnionMember*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::UnionMember* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::UnionMember& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::UnionMember*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::UnionMemberSeq*);
void operator<<=(CORBA::Any&, const CORBA::UnionMemberSeq&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::UnionMemberSeq*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::UnionMemberSeq* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::UnionMemberSeq& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::UnionMemberSeq*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::EnumMemberSeq*);
void operator<<=(CORBA::Any&, const CORBA::EnumMemberSeq&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::EnumMemberSeq*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::EnumMemberSeq* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::EnumMemberSeq& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::EnumMemberSeq*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::ValueMember*);
void operator<<=(CORBA::Any&, const CORBA::ValueMember&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::ValueMember*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::ValueMember* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::ValueMember& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::ValueMember*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::ValueMemberSeq*);
void operator<<=(CORBA::Any&, const CORBA::ValueMemberSeq&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::ValueMemberSeq*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::ValueMemberSeq* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::ValueMemberSeq& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::ValueMemberSeq*& val)
{
return any.in() >>= val;
}
# 31 "../../include/OB/OBORB.h" 2
# 1 "../../include/OB/ServiceInfo.h" 1
# 27 "../../include/OB/ServiceInfo.h"
# 1 "../../include/OB/ServiceInfo_fwd.h" 1
# 18 "../../include/OB/ServiceInfo_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 19 "../../include/OB/ServiceInfo_fwd.h" 2
# 39 "../../include/OB/ServiceInfo_fwd.h"
namespace CORBA
{
}
namespace CORBA
{
}
# 28 "../../include/OB/ServiceInfo.h" 2
# 39 "../../include/OB/ServiceInfo.h"
namespace OBStubImpl_CORBA
{
}
namespace OBStubImpl_CORBA
{
}
namespace CORBA
{
typedef CORBA::UShort ServiceType;
typedef CORBA::UShort_out ServiceType_out;
extern OB::TypeCodeConst _tc_ServiceType;
typedef CORBA::ULong ServiceOption;
typedef CORBA::ULong_out ServiceOption_out;
extern OB::TypeCodeConst _tc_ServiceOption;
typedef CORBA::ULong ServiceDetailType;
typedef CORBA::ULong_out ServiceDetailType_out;
extern OB::TypeCodeConst _tc_ServiceDetailType;
const ServiceType Security = 1;
struct ServiceDetail;
typedef OB::VarVar< ServiceDetail > ServiceDetail_var;
typedef OB::VarOut< ServiceDetail > ServiceDetail_out;
struct ServiceDetail
{
ServiceDetail() { }
ServiceDetail(const ServiceDetail&);
ServiceDetail& operator=(const ServiceDetail&);
typedef ServiceDetail_var _var_type;
ServiceDetailType service_detail_type;
class OBUnique_service_detail { };
typedef OB::FixSeq< CORBA::Octet, OBUnique_service_detail > _service_detail_seq;
_service_detail_seq service_detail;
void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(ServiceDetail&, OB::InputStreamImpl*);
};
extern OB::TypeCodeConst _tc_ServiceDetail;
struct ServiceInformation;
typedef OB::VarVar< ServiceInformation > ServiceInformation_var;
typedef OB::VarOut< ServiceInformation > ServiceInformation_out;
struct ServiceInformation
{
ServiceInformation() { }
ServiceInformation(const ServiceInformation&);
ServiceInformation& operator=(const ServiceInformation&);
typedef ServiceInformation_var _var_type;
class OBUnique_service_options { };
typedef OB::FixSeq< ServiceOption, OBUnique_service_options > _service_options_seq;
_service_options_seq service_options;
class OBUnique_service_details { };
typedef OB::VarSeq< ServiceDetail, OBUnique_service_details > _service_details_seq;
_service_details_seq service_details;
void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(ServiceInformation&, OB::InputStreamImpl*);
};
extern OB::TypeCodeConst _tc_ServiceInformation;
}
namespace OBProxy_CORBA
{
}
namespace OBStubImpl_CORBA
{
}
namespace OBMarshalStubImpl_CORBA
{
}
namespace OBV_CORBA
{
}
void operator<<=(CORBA::Any&, CORBA::ServiceDetail*);
void operator<<=(CORBA::Any&, const CORBA::ServiceDetail&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::ServiceDetail*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::ServiceDetail* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::ServiceDetail& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::ServiceDetail*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::ServiceInformation*);
void operator<<=(CORBA::Any&, const CORBA::ServiceInformation&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::ServiceInformation*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::ServiceInformation* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::ServiceInformation& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::ServiceInformation*& val)
{
return any.in() >>= val;
}
# 32 "../../include/OB/OBORB.h" 2
# 1 "../../include/OB/Native.h" 1
# 33 "../../include/OB/OBORB.h" 2
# 1 "../../include/OB/OBORB_fwd.h" 1
# 34 "../../include/OB/OBORB.h" 2
# 45 "../../include/OB/OBORB.h"
namespace OBStubImpl_CORBA
{
}
namespace OBStubImpl_OB
{
}
namespace OBStubImpl_OBCORBA
{
}
namespace OBStubImpl_CORBA
{
}
namespace OBStubImpl_OB
{
}
namespace OBStubImpl_OBCORBA
{
}
namespace CORBA
{
class ORB : virtual public CORBA::Object
{
ORB(const ORB&);
void operator=(const ORB&);
protected:
static const char* ids_[];
public:
ORB() { }
virtual ~ORB() { }
typedef ORB_ptr _ptr_type;
typedef ORB_var _var_type;
static inline ORB_ptr
_duplicate(ORB_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline ORB_ptr
_nil()
{
return 0;
}
static ORB_ptr _narrow(CORBA::Object_ptr);
static ORB_ptr _narrow(CORBA::AbstractBase_ptr);
typedef char* ObjectId;
typedef CORBA::String_var ObjectId_var;
typedef CORBA::String_out ObjectId_out;
class OBUnique_ObjectIdList { };
typedef OB::StrSeq< OBUnique_ObjectIdList > ObjectIdList;
typedef OB::SeqVar< OB::StrSeq< OBUnique_ObjectIdList > > ObjectIdList_var;
typedef OB::SeqOut< OB::StrSeq< OBUnique_ObjectIdList > > ObjectIdList_out;
struct InvalidName : public CORBA::UserException
{
InvalidName() { }
InvalidName(const InvalidName&);
InvalidName& operator=(const InvalidName&);
static InvalidName* _downcast(CORBA::Exception*);
static const InvalidName* _downcast(const CORBA::Exception*);
virtual const char* _name() const;
virtual void _raise() const { throw *this; }
virtual const char* _rep_id() const;
virtual char* _to_string() const;
virtual CORBA::Exception* _OB_clone() const;
virtual void _OB_insertInAny(CORBA::Any&);
static void _OB_unmarshal(InvalidName&, OB::InputStreamImpl*);
};
virtual char* object_to_string(CORBA::Object_ptr obj) = 0;
virtual CORBA::Object_ptr string_to_object(const char* str) = 0;
virtual void create_list(CORBA::Long count,
NVList_out new_list) = 0;
virtual void create_operation_list(OperationDef_ptr oper,
NVList_out new_list) = 0;
virtual void get_default_context(Context_out ctx) = 0;
virtual void create_named_value(NamedValue_out nmval) = 0;
virtual void create_exception_list(ExceptionList_out exclist) = 0;
virtual void create_context_list(ContextList_out ctxtlist) = 0;
virtual void create_environment(Environment_out new_env) = 0;
class OBUnique_RequestSeq { };
typedef OB::ObjSeq< Request, OBUnique_RequestSeq > RequestSeq;
typedef OB::SeqVar< OB::ObjSeq< Request, OBUnique_RequestSeq > > RequestSeq_var;
typedef OB::SeqOut< OB::ObjSeq< Request, OBUnique_RequestSeq > > RequestSeq_out;
virtual void send_multiple_requests_oneway(const RequestSeq& req) = 0;
virtual void send_multiple_requests_deferred(const RequestSeq& req) = 0;
virtual CORBA::Boolean poll_next_response() = 0;
virtual void get_next_response(Request_out req) = 0;
virtual CORBA::Boolean get_service_information(ServiceType service_type,
ServiceInformation_out service_information) = 0;
virtual ObjectIdList* list_initial_services() = 0;
virtual CORBA::Object_ptr resolve_initial_references(const char* identifier) = 0;
virtual void register_initial_reference(const char* id,
CORBA::Object_ptr obj) = 0;
virtual CORBA::TypeCode_ptr create_struct_tc(const char* id,
const char* name,
const StructMemberSeq& members) = 0;
virtual CORBA::TypeCode_ptr create_union_tc(const char* id,
const char* name,
CORBA::TypeCode_ptr discriminator_type,
const UnionMemberSeq& members) = 0;
virtual CORBA::TypeCode_ptr create_enum_tc(const char* id,
const char* name,
const EnumMemberSeq& members) = 0;
virtual CORBA::TypeCode_ptr create_alias_tc(const char* id,
const char* name,
CORBA::TypeCode_ptr original_type) = 0;
virtual CORBA::TypeCode_ptr create_exception_tc(const char* id,
const char* name,
const StructMemberSeq& members) = 0;
virtual CORBA::TypeCode_ptr create_interface_tc(const char* id,
const char* name) = 0;
virtual CORBA::TypeCode_ptr create_string_tc(CORBA::ULong bound) = 0;
virtual CORBA::TypeCode_ptr create_wstring_tc(CORBA::ULong bound) = 0;
virtual CORBA::TypeCode_ptr create_fixed_tc(CORBA::UShort digits,
CORBA::Short scale) = 0;
virtual CORBA::TypeCode_ptr create_sequence_tc(CORBA::ULong bound,
CORBA::TypeCode_ptr element_type) = 0;
virtual CORBA::TypeCode_ptr create_array_tc(CORBA::ULong length,
CORBA::TypeCode_ptr element_type) = 0;
virtual CORBA::TypeCode_ptr create_value_tc(const char* id,
const char* name,
ValueModifier type_modifier,
CORBA::TypeCode_ptr concrete_base,
const ValueMemberSeq& members) = 0;
virtual CORBA::TypeCode_ptr create_value_box_tc(const char* id,
const char* name,
CORBA::TypeCode_ptr boxed_type) = 0;
virtual CORBA::TypeCode_ptr create_native_tc(const char* id,
const char* name) = 0;
virtual CORBA::TypeCode_ptr create_recursive_tc(const char* id) = 0;
virtual CORBA::TypeCode_ptr create_abstract_interface_tc(const char* id,
const char* name) = 0;
virtual CORBA::TypeCode_ptr create_local_interface_tc(const char* id,
const char* name) = 0;
virtual CORBA::Boolean work_pending() = 0;
virtual void perform_work() = 0;
virtual void run() = 0;
virtual void shutdown(CORBA::Boolean wait_for_completion) = 0;
virtual void destroy() = 0;
virtual Policy_ptr create_policy(PolicyType type,
const CORBA::Any& val) = 0;
virtual ValueFactory register_value_factory(const char* id,
ValueFactory fact) = 0;
virtual void unregister_value_factory(const char* id) = 0;
virtual ValueFactory lookup_value_factory(const char* id) = 0;
};
}
namespace OB
{
typedef OBNative_OB::PropertySet PropertySet;
}
namespace OBCORBA
{
class ORB : virtual public ::CORBA::ORB
{
ORB(const ORB&);
void operator=(const ORB&);
protected:
static const char* ids_[];
public:
ORB() { }
virtual ~ORB() { }
typedef ORB_ptr _ptr_type;
typedef ORB_var _var_type;
static inline ORB_ptr
_duplicate(ORB_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline ORB_ptr
_nil()
{
return 0;
}
static ORB_ptr _narrow(CORBA::Object_ptr);
static ORB_ptr _narrow(CORBA::AbstractBase_ptr);
virtual ::OB::PropertySet properties() = 0;
virtual ::OB::Logger_ptr logger() = 0;
virtual ::OB::Reactor_ptr reactor() = 0;
virtual ::OB::UnknownExceptionStrategy_ptr set_unknown_exception_strategy(::OB::UnknownExceptionStrategy_ptr strategy) = 0;
virtual ::OB::ConnectionReusePolicy_ptr create_connection_reuse_policy(CORBA::Boolean value) = 0;
virtual ::OB::ProtocolPolicy_ptr create_protocol_policy(const ::OCI::PluginIdSeq& value) = 0;
virtual ::OB::RetryPolicy_ptr create_retry_policy(CORBA::Short mode,
CORBA::ULong interval,
CORBA::ULong max,
CORBA::Boolean remote) = 0;
virtual ::OB::TimeoutPolicy_ptr create_timeout_policy(CORBA::ULong value) = 0;
virtual ::OB::LocationTransparencyPolicy_ptr create_location_transparency_policy(CORBA::Short value) = 0;
virtual ::Messaging::SyncScopePolicy_ptr create_sync_scope_policy(::Messaging::SyncScope value) = 0;
virtual ::OB::InterceptorPolicy_ptr create_interceptor_policy(CORBA::Boolean value) = 0;
virtual ::OB::ConnectTimeoutPolicy_ptr create_connection_timeout_policy(CORBA::ULong value) = 0;
virtual ::OB::RequestTimeoutPolicy_ptr create_request_timeout_policy(CORBA::ULong value) = 0;
};
}
namespace OBProxy_CORBA
{
}
namespace OBProxy_OB
{
}
namespace OBProxy_OBCORBA
{
}
namespace OBStubImpl_CORBA
{
}
namespace OBStubImpl_OB
{
}
namespace OBStubImpl_OBCORBA
{
}
namespace OBMarshalStubImpl_CORBA
{
}
namespace OBMarshalStubImpl_OB
{
}
namespace OBMarshalStubImpl_OBCORBA
{
}
namespace OBV_CORBA
{
}
namespace OBV_OB
{
}
namespace OBV_OBCORBA
{
}
namespace CORBA
{
inline void
release(::CORBA::ORB_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::CORBA::ORB_ptr p)
{
return p == 0;
}
}
namespace CORBA
{
inline void
release(::OBCORBA::ORB_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::OBCORBA::ORB_ptr p)
{
return p == 0;
}
}
# 18 "../../include/OB/CORBA.h" 2
# 1 "../../include/OB/ORB_init.h" 1
# 14 "../../include/OB/ORB_init.h"
# 1 "../../include/OB/OBORB_fwd.h" 1
# 15 "../../include/OB/ORB_init.h" 2
# 1 "../../include/OB/Properties_fwd.h" 1
# 16 "../../include/OB/ORB_init.h" 2
# 1 "../../include/OB/Logger_fwd.h" 1
# 17 "../../include/OB/ORB_init.h" 2
# 1 "../../include/OB/Reactor_fwd.h" 1
# 18 "../../include/OB/ORB_init.h" 2
namespace CORBA
{
ORB_ptr ORB_init(int&, char**, const char* = "", const char* = "4.1.0b1");
typedef char* ORBid;
}
namespace OBCORBA
{
OBCORBA::ORB_ptr
ORB_init(int&, char**, OB::Properties_ptr, OB::Logger_ptr,
OB::Reactor_ptr = 0, const char* = "", const char* = "4.1.0b1");
OBCORBA::ORB_ptr
ORB_init(int&, char**, OB::Properties_ptr, const char* = "",
const char* = "4.1.0b1");
}
namespace OB
{
void
ParseArgs(int&, char**, Properties_ptr, Logger_ptr = 0);
}
# 19 "../../include/OB/CORBA.h" 2
# 1 "../../include/OB/Current.h" 1
# 27 "../../include/OB/Current.h"
# 1 "../../include/OB/Current_fwd.h" 1
# 18 "../../include/OB/Current_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 19 "../../include/OB/Current_fwd.h" 2
# 39 "../../include/OB/Current_fwd.h"
namespace CORBA
{
class Current;
typedef Current* Current_ptr;
typedef Current* CurrentRef;
}
void OBDuplicate(CORBA::Current_ptr);
void OBRelease(CORBA::Current_ptr);
void OBMarshal(CORBA::Current_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::Current_ptr&, OB::InputStreamImpl*);
namespace CORBA
{
typedef OB::ObjVar< Current > Current_var;
typedef OB::ObjOut< Current > Current_out;
}
# 28 "../../include/OB/Current.h" 2
# 39 "../../include/OB/Current.h"
namespace OBStubImpl_CORBA
{
}
namespace OBStubImpl_CORBA
{
}
namespace CORBA
{
class Current : virtual public CORBA::Object
{
Current(const Current&);
void operator=(const Current&);
protected:
static const char* ids_[];
public:
Current() { }
virtual ~Current() { }
typedef Current_ptr _ptr_type;
typedef Current_var _var_type;
static inline Current_ptr
_duplicate(Current_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline Current_ptr
_nil()
{
return 0;
}
static Current_ptr _narrow(CORBA::Object_ptr);
static Current_ptr _narrow(CORBA::AbstractBase_ptr);
};
}
namespace OBProxy_CORBA
{
}
namespace OBStubImpl_CORBA
{
}
namespace OBMarshalStubImpl_CORBA
{
}
namespace OBV_CORBA
{
}
namespace CORBA
{
inline void
release(::CORBA::Current_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::CORBA::Current_ptr p)
{
return p == 0;
}
}
# 20 "../../include/OB/CORBA.h" 2
# 1 "../../include/OB/StringValue.h" 1
# 27 "../../include/OB/StringValue.h"
# 1 "../../include/OB/StringValue_fwd.h" 1
# 18 "../../include/OB/StringValue_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 19 "../../include/OB/StringValue_fwd.h" 2
# 39 "../../include/OB/StringValue_fwd.h"
namespace CORBA
{
class StringValue;
class WStringValue;
}
void OBDuplicate(CORBA::StringValue*);
void OBRelease(CORBA::StringValue*);
void OBMarshal(CORBA::StringValue*, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::StringValue*&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::WStringValue*);
void OBRelease(CORBA::WStringValue*);
void OBMarshal(CORBA::WStringValue*, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::WStringValue*&, OB::InputStreamImpl*);
namespace CORBA
{
typedef OB::ObjVar< StringValue > StringValue_var;
typedef OB::ObjOut< StringValue > StringValue_out;
typedef OB::ObjVar< WStringValue > WStringValue_var;
typedef OB::ObjOut< WStringValue > WStringValue_out;
}
# 28 "../../include/OB/StringValue.h" 2
# 39 "../../include/OB/StringValue.h"
namespace OBStubImpl_CORBA
{
}
namespace OBStubImpl_CORBA
{
}
namespace CORBA
{
class StringValue : virtual public CORBA::DefaultValueRefCountBase
{
static const char* _ob_id_;
CORBA::String_var _ob_v_;
StringValue& operator=(const StringValue&);
protected:
virtual ~StringValue() { }
public:
StringValue()
: _ob_v_((const char*)"") { }
StringValue(const StringValue& _ob_a)
: _ob_v_(_ob_a._ob_v_) { }
StringValue(char* _ob_a)
: _ob_v_(_ob_a) { }
StringValue(const char* _ob_a)
: _ob_v_(_ob_a) { }
StringValue(const CORBA::String_var& _ob_a)
: _ob_v_(_ob_a) { }
StringValue& operator=(char* _ob_a)
{
_ob_v_ = _ob_a;
return *this;
}
StringValue& operator=(const char* _ob_a)
{
_ob_v_ = _ob_a;
return *this;
}
StringValue& operator=(const CORBA::String_var& _ob_a)
{
_ob_v_ = _ob_a;
return *this;
}
const char* _value() const { return _ob_v_.in(); }
void _value(char* _ob_a) { _ob_v_ = _ob_a; }
void _value(const char* _ob_a) { _ob_v_ = _ob_a; }
void _value(const CORBA::String_var& _ob_a) { _ob_v_ = _ob_a; }
const char* _boxed_in() const { return _ob_v_.in(); }
char*& _boxed_inout() { return _ob_v_.inout(); }
char*& _boxed_out() { return _ob_v_.out(); }
char& operator[](short idx) { return _ob_v_[idx]; }
char operator[](short idx) const { return _ob_v_[idx]; }
char& operator[](unsigned short idx) { return _ob_v_[idx]; }
char operator[](unsigned short idx) const { return _ob_v_[idx]; }
char& operator[](int idx) { return _ob_v_[idx]; }
char operator[](int idx) const { return _ob_v_[idx]; }
char& operator[](unsigned int idx) { return _ob_v_[idx]; }
char operator[](unsigned int idx) const { return _ob_v_[idx]; }
char& operator[](long idx) { return _ob_v_[idx]; }
char operator[](long idx) const { return _ob_v_[idx]; }
char& operator[](unsigned long idx) { return _ob_v_[idx]; }
char operator[](unsigned long idx) const { return _ob_v_[idx]; }
StringValue& operator+=(const char* _ob_a)
{
_ob_v_ += _ob_a;
return *this;
}
StringValue& operator+=(char _ob_a)
{
_ob_v_ += _ob_a;
return *this;
}
StringValue& operator+=(unsigned char _ob_a)
{
_ob_v_ += _ob_a;
return *this;
}
StringValue& operator+=(CORBA::LongLong _ob_a)
{
_ob_v_ += _ob_a;
return *this;
}
StringValue& operator+=(CORBA::ULongLong _ob_a)
{
_ob_v_ += _ob_a;
return *this;
}
StringValue& operator+=(long _ob_a)
{
_ob_v_ += _ob_a;
return *this;
}
StringValue& operator+=(unsigned long _ob_a)
{
_ob_v_ += _ob_a;
return *this;
}
StringValue& operator+=(short _ob_a)
{
_ob_v_ += _ob_a;
return *this;
}
StringValue& operator+=(unsigned short _ob_a)
{
_ob_v_ += _ob_a;
return *this;
}
StringValue& operator+=(int _ob_a)
{
_ob_v_ += _ob_a;
return *this;
}
StringValue& operator+=(unsigned int _ob_a)
{
_ob_v_ += _ob_a;
return *this;
}
typedef StringValue_var _var_type;
virtual CORBA::ValueBase* _copy_value();
static StringValue* _downcast(CORBA::ValueBase*);
static const char* _OB_id();
virtual const char* _OB_typeId() const;
virtual void _OB_marshal(OB::OutputStreamImpl*);
virtual void _OB_unmarshal(OB::InputStreamImpl*);
};
extern OB::TypeCodeConst _tc_StringValue;
class StringValue_init : public CORBA::ValueFactoryBase
{
virtual CORBA::ValueBase* create_for_unmarshal();
public:
StringValue_init()
{
}
virtual ~StringValue_init()
{
}
static StringValue_init* _downcast(CORBA::ValueFactory);
};
class WStringValue : virtual public CORBA::DefaultValueRefCountBase
{
static const char* _ob_id_;
CORBA::WString_var _ob_v_;
WStringValue& operator=(const WStringValue&);
protected:
virtual ~WStringValue() { }
public:
WStringValue()
: _ob_v_((const wchar_t*)L"") { }
WStringValue(const WStringValue& _ob_a)
: _ob_v_(_ob_a._ob_v_) { }
WStringValue(CORBA::WChar* _ob_a)
: _ob_v_(_ob_a) { }
WStringValue(const CORBA::WChar* _ob_a)
: _ob_v_(_ob_a) { }
WStringValue(const CORBA::WString_var& _ob_a)
: _ob_v_(_ob_a) { }
WStringValue& operator=(CORBA::WChar* _ob_a)
{
_ob_v_ = _ob_a;
return *this;
}
WStringValue& operator=(const CORBA::WChar* _ob_a)
{
_ob_v_ = _ob_a;
return *this;
}
WStringValue& operator=(const CORBA::WString_var& _ob_a)
{
_ob_v_ = _ob_a;
return *this;
}
const CORBA::WChar* _value() const { return _ob_v_.in(); }
void _value(CORBA::WChar* _ob_a) { _ob_v_ = _ob_a; }
void _value(const CORBA::WChar* _ob_a) { _ob_v_ = _ob_a; }
void _value(const CORBA::WString_var& _ob_a) { _ob_v_ = _ob_a; }
const CORBA::WChar* _boxed_in() const { return _ob_v_.in(); }
CORBA::WChar*& _boxed_inout() { return _ob_v_.inout(); }
CORBA::WChar*& _boxed_out() { return _ob_v_.out(); }
wchar_t& operator[](short idx) { return _ob_v_[idx]; }
wchar_t operator[](short idx) const { return _ob_v_[idx]; }
wchar_t& operator[](unsigned short idx) { return _ob_v_[idx]; }
wchar_t operator[](unsigned short idx) const { return _ob_v_[idx]; }
wchar_t& operator[](int idx) { return _ob_v_[idx]; }
wchar_t operator[](int idx) const { return _ob_v_[idx]; }
wchar_t& operator[](unsigned int idx) { return _ob_v_[idx]; }
wchar_t operator[](unsigned int idx) const { return _ob_v_[idx]; }
wchar_t& operator[](long idx) { return _ob_v_[idx]; }
wchar_t operator[](long idx) const { return _ob_v_[idx]; }
wchar_t& operator[](unsigned long idx) { return _ob_v_[idx]; }
wchar_t operator[](unsigned long idx) const { return _ob_v_[idx]; }
WStringValue& operator+=(const wchar_t* _ob_a)
{
_ob_v_ += _ob_a;
return *this;
}
WStringValue& operator+=(wchar_t _ob_a)
{
_ob_v_ += _ob_a;
return *this;
}
typedef WStringValue_var _var_type;
virtual CORBA::ValueBase* _copy_value();
static WStringValue* _downcast(CORBA::ValueBase*);
static const char* _OB_id();
virtual const char* _OB_typeId() const;
virtual void _OB_marshal(OB::OutputStreamImpl*);
virtual void _OB_unmarshal(OB::InputStreamImpl*);
};
extern OB::TypeCodeConst _tc_WStringValue;
class WStringValue_init : public CORBA::ValueFactoryBase
{
virtual CORBA::ValueBase* create_for_unmarshal();
public:
WStringValue_init()
{
}
virtual ~WStringValue_init()
{
}
static WStringValue_init* _downcast(CORBA::ValueFactory);
};
}
namespace OBProxy_CORBA
{
}
namespace OBStubImpl_CORBA
{
}
namespace OBMarshalStubImpl_CORBA
{
}
namespace OBV_CORBA
{
}
void operator<<=(CORBA::Any&, CORBA::StringValue**);
void operator<<=(CORBA::Any&, CORBA::StringValue*);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::StringValue*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::StringValue** val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, CORBA::StringValue* val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::StringValue*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::WStringValue**);
void operator<<=(CORBA::Any&, CORBA::WStringValue*);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::WStringValue*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::WStringValue** val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, CORBA::WStringValue* val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::WStringValue*& val)
{
return any.in() >>= val;
}
# 21 "../../include/OB/CORBA.h" 2
# 1 "../../include/OB/POACurrent.h" 1
# 27 "../../include/OB/POACurrent.h"
# 1 "../../include/OB/Current.h" 1
# 28 "../../include/OB/POACurrent.h" 2
# 1 "../../include/OB/POACommon.h" 1
# 29 "../../include/OB/POACurrent.h" 2
# 1 "../../include/OB/POACurrent_fwd.h" 1
# 18 "../../include/OB/POACurrent_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 19 "../../include/OB/POACurrent_fwd.h" 2
# 39 "../../include/OB/POACurrent_fwd.h"
namespace PortableServer
{
class POA;
typedef POA* POA_ptr;
typedef POA* POARef;
class Current;
typedef Current* Current_ptr;
typedef Current* CurrentRef;
}
void OBDuplicate(PortableServer::POA_ptr);
void OBRelease(PortableServer::POA_ptr);
void OBMarshal(PortableServer::POA_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(PortableServer::POA_ptr&, OB::InputStreamImpl*);
void OBDuplicate(PortableServer::Current_ptr);
void OBRelease(PortableServer::Current_ptr);
void OBMarshal(PortableServer::Current_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(PortableServer::Current_ptr&, OB::InputStreamImpl*);
namespace PortableServer
{
typedef OB::ObjVar< POA > POA_var;
typedef OB::ObjOut< POA > POA_out;
typedef OB::ObjVar< Current > Current_var;
typedef OB::ObjOut< Current > Current_out;
}
# 30 "../../include/OB/POACurrent.h" 2
# 41 "../../include/OB/POACurrent.h"
namespace OBStubImpl_PortableServer
{
}
namespace OBStubImpl_PortableServer
{
}
namespace PortableServer
{
class Current : virtual public ::CORBA::Current
{
Current(const Current&);
void operator=(const Current&);
protected:
static const char* ids_[];
public:
Current() { }
virtual ~Current() { }
typedef Current_ptr _ptr_type;
typedef Current_var _var_type;
static inline Current_ptr
_duplicate(Current_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline Current_ptr
_nil()
{
return 0;
}
static Current_ptr _narrow(CORBA::Object_ptr);
static Current_ptr _narrow(CORBA::AbstractBase_ptr);
struct NoContext : public CORBA::UserException
{
NoContext() { }
NoContext(const NoContext&);
NoContext& operator=(const NoContext&);
static NoContext* _downcast(CORBA::Exception*);
static const NoContext* _downcast(const CORBA::Exception*);
virtual const char* _name() const;
virtual void _raise() const { throw *this; }
virtual const char* _rep_id() const;
virtual char* _to_string() const;
virtual CORBA::Exception* _OB_clone() const;
virtual void _OB_insertInAny(CORBA::Any&);
static void _OB_unmarshal(NoContext&, OB::InputStreamImpl*);
};
virtual POA_ptr get_POA() = 0;
virtual ObjectId* get_object_id() = 0;
};
}
namespace OBProxy_PortableServer
{
}
namespace OBStubImpl_PortableServer
{
}
namespace OBMarshalStubImpl_PortableServer
{
}
namespace OBV_PortableServer
{
}
namespace CORBA
{
inline void
release(::PortableServer::Current_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::PortableServer::Current_ptr p)
{
return p == 0;
}
}
# 22 "../../include/OB/CORBA.h" 2
# 1 "../../include/OB/POAServantLocator_skel.h" 1
# 14 "../../include/OB/POAServantLocator_skel.h"
# 1 "../../include/OB/POAServantLocator.h" 1
# 15 "../../include/OB/POAServantLocator_skel.h" 2
# 1 "../../include/OB/POAServantManager_skel.h" 1
# 14 "../../include/OB/POAServantManager_skel.h"
# 1 "../../include/OB/POAServantManager.h" 1
# 15 "../../include/OB/POAServantManager_skel.h" 2
namespace POA_PortableServer
{
class ServantManager : public PortableServer::ServantManager
{
ServantManager(const ServantManager&);
void operator=(const ServantManager&);
public:
ServantManager() { }
};
}
# 17 "../../include/OB/POAServantLocator_skel.h" 2
# 1 "../../include/OB/POACommon_skel.h" 1
# 18 "../../include/OB/POACommon_skel.h"
# 1 "../../include/OB/POACommon.h" 1
# 19 "../../include/OB/POACommon_skel.h" 2
# 42 "../../include/OB/POACommon_skel.h"
namespace POA_PortableServer
{
}
namespace OBDirectStubImpl_PortableServer
{
}
# 18 "../../include/OB/POAServantLocator_skel.h" 2
# 1 "../../include/OB/LocalObject.h" 1
# 14 "../../include/OB/LocalObject.h"
# 1 "../../include/OB/LocalObject_fwd.h" 1
# 14 "../../include/OB/LocalObject_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 15 "../../include/OB/LocalObject_fwd.h" 2
namespace CORBA
{
class LocalObject;
typedef LocalObject* LocalObject_ptr;
typedef LocalObject_ptr LocalObjectRef;
}
void OBRelease(CORBA::LocalObject_ptr);
void OBDuplicate(CORBA::LocalObject_ptr);
namespace CORBA
{
typedef OB::ObjVar< LocalObject > LocalObject_var;
}
# 15 "../../include/OB/LocalObject.h" 2
# 1 "../../include/OB/Object.h" 1
# 17 "../../include/OB/LocalObject.h" 2
namespace OBCORBA
{
class LocalObjectBase : virtual public CORBA::Object
{
protected:
LocalObjectBase();
~LocalObjectBase();
public:
virtual CORBA::InterfaceDef_ptr _get_interface();
virtual CORBA::Boolean _is_a(const char*);
virtual CORBA::Boolean _non_existent();
virtual CORBA::Boolean _is_equivalent(CORBA::Object_ptr);
virtual CORBA::ULong _hash(CORBA::ULong);
virtual void _create_request(CORBA::Context_ptr, const char*,
CORBA::NVList_ptr,
CORBA::NamedValue_ptr,
CORBA::Request_out, CORBA::Flags);
virtual void _create_request(CORBA::Context_ptr, const char*,
CORBA::NVList_ptr,
CORBA::NamedValue_ptr,
CORBA::ExceptionList_ptr,
CORBA::ContextList_ptr,
CORBA::Request_out, CORBA::Flags);
virtual CORBA::Request_ptr _request(const char*);
virtual CORBA::Policy_ptr _get_policy(CORBA::PolicyType);
virtual CORBA::Policy_ptr _get_client_policy(CORBA::PolicyType);
virtual CORBA::Object_ptr _set_policy_overrides(
const CORBA::PolicyList&, CORBA::SetOverrideType);
virtual CORBA::PolicyList* _get_policy_overrides(
const CORBA::PolicyTypeSeq&);
virtual CORBA::Boolean _validate_connection(
CORBA::PolicyList_out);
virtual OCI::ConnectorInfo_ptr _get_oci_connector_info();
virtual OCI::TransportInfo_ptr _get_oci_transport_info();
virtual CORBA::AbstractBase_ptr _OB_toAbstractBase();
virtual OB::RefCountIOR_ptr _OB_origIOR() const;
virtual OB::RefCountIOR_ptr _OB_IOR() const;
virtual void _OB_marshalOrigIOR(OB::OutputStreamImpl*) const;
virtual const char** _OB_ids() const;
};
}
namespace CORBA
{
class LocalObject : public OBCORBA::LocalObjectBase
{
protected:
LocalObject();
~LocalObject();
public:
virtual void _add_ref();
virtual void _remove_ref();
};
}
namespace OBCORBA
{
class RefCountLocalObject : virtual public CORBA::LocalObject,
virtual public OB::RefCount
{
protected:
RefCountLocalObject() { }
RefCountLocalObject(const RefCountLocalObject&) { }
RefCountLocalObject&
operator=(const RefCountLocalObject&) { return *this; }
public:
virtual void _add_ref();
virtual void _remove_ref();
};
}
# 19 "../../include/OB/POAServantLocator_skel.h" 2
namespace POA_PortableServer
{
class ServantLocatorDelegate;
typedef ServantLocatorDelegate* ServantLocatorDelegate_ptr;
}
void OBDuplicate(POA_PortableServer::ServantLocatorDelegate_ptr);
void OBRelease(POA_PortableServer::ServantLocatorDelegate_ptr);
namespace POA_PortableServer
{
typedef OB::ObjVar<ServantLocatorDelegate> ServantLocatorDelegate_var;
}
namespace POA_PortableServer
{
class ServantLocator : virtual public PortableServer::ServantLocator,
virtual public PortableServer::ServantBase,
virtual public OBCORBA::LocalObjectBase
{
ServantLocator(const ServantLocator&);
void operator=(const ServantLocator&);
ServantLocatorDelegate_var delegate_;
public:
ServantLocator();
~ServantLocator();
PortableServer::ServantLocator_ptr _this();
virtual CORBA::RepositoryId
_primary_interface(const PortableServer::ObjectId&,
PortableServer::POA_ptr);
virtual void
_OB_dispatch(OB::Upcall_ptr);
};
}
# 25 "../../include/OB/CORBA.h" 2
# 1 "../../include/OB/POAServantActivator_skel.h" 1
# 14 "../../include/OB/POAServantActivator_skel.h"
# 1 "../../include/OB/POAServantActivator.h" 1
# 15 "../../include/OB/POAServantActivator_skel.h" 2
# 1 "../../include/OB/POAServantManager_skel.h" 1
# 17 "../../include/OB/POAServantActivator_skel.h" 2
# 1 "../../include/OB/POACommon_skel.h" 1
# 18 "../../include/OB/POAServantActivator_skel.h" 2
# 1 "../../include/OB/LocalObject.h" 1
# 19 "../../include/OB/POAServantActivator_skel.h" 2
namespace POA_PortableServer
{
class ServantActivatorDelegate;
typedef ServantActivatorDelegate* ServantActivatorDelegate_ptr;
}
void OBDuplicate(POA_PortableServer::ServantActivatorDelegate_ptr);
void OBRelease(POA_PortableServer::ServantActivatorDelegate_ptr);
namespace POA_PortableServer
{
typedef OB::ObjVar<ServantActivatorDelegate> ServantActivatorDelegate_var;
}
namespace POA_PortableServer
{
class ServantActivator : virtual public PortableServer::ServantActivator,
virtual public PortableServer::ServantBase,
virtual public OBCORBA::LocalObjectBase
{
ServantActivator(const ServantActivator&);
void operator=(const ServantActivator&);
ServantActivatorDelegate_var delegate_;
public:
ServantActivator();
~ServantActivator();
PortableServer::ServantActivator_ptr _this();
virtual CORBA::RepositoryId
_primary_interface(const PortableServer::ObjectId&,
PortableServer::POA_ptr);
virtual void
_OB_dispatch(OB::Upcall_ptr);
};
}
# 26 "../../include/OB/CORBA.h" 2
# 1 "../../include/OB/POAAdapterActivator_skel.h" 1
# 14 "../../include/OB/POAAdapterActivator_skel.h"
# 1 "../../include/OB/POAAdapterActivator.h" 1
# 15 "../../include/OB/POAAdapterActivator_skel.h" 2
# 1 "../../include/OB/LocalObject.h" 1
# 16 "../../include/OB/POAAdapterActivator_skel.h" 2
namespace POA_PortableServer
{
class AdapterActivatorDelegate;
typedef AdapterActivatorDelegate* AdapterActivatorDelegate_ptr;
}
void OBDuplicate(POA_PortableServer::AdapterActivatorDelegate_ptr);
void OBRelease(POA_PortableServer::AdapterActivatorDelegate_ptr);
namespace POA_PortableServer
{
typedef OB::ObjVar<AdapterActivatorDelegate> AdapterActivatorDelegate_var;
}
namespace POA_PortableServer
{
class AdapterActivator : virtual public PortableServer::AdapterActivator,
virtual public PortableServer::ServantBase,
virtual public OBCORBA::LocalObjectBase
{
AdapterActivator(const AdapterActivator&);
void operator=(const AdapterActivator&);
AdapterActivatorDelegate_var delegate_;
public:
AdapterActivator();
~AdapterActivator();
PortableServer::AdapterActivator_ptr _this();
virtual CORBA::RepositoryId
_primary_interface(const PortableServer::ObjectId&,
PortableServer::POA_ptr);
virtual void
_OB_dispatch(OB::Upcall_ptr);
};
}
# 27 "../../include/OB/CORBA.h" 2
# 1 "../../include/OB/OBPOAManager.h" 1
# 27 "../../include/OB/OBPOAManager.h"
# 1 "../../include/OB/POAManager.h" 1
# 28 "../../include/OB/OBPOAManager.h" 2
# 1 "../../include/OB/OCI.h" 1
# 27 "../../include/OB/OCI.h"
# 1 "../../include/OB/OCIClient.h" 1
# 27 "../../include/OB/OCIClient.h"
# 1 "../../include/OB/OCITypes.h" 1
# 28 "../../include/OB/OCIClient.h" 2
# 1 "../../include/OB/Policy.h" 1
# 29 "../../include/OB/OCIClient.h" 2
# 1 "../../include/OB/OCIClient_fwd.h" 1
# 30 "../../include/OB/OCIClient.h" 2
# 41 "../../include/OB/OCIClient.h"
namespace OBStubImpl_OCI
{
}
namespace OBStubImpl_OCI
{
}
namespace OCI
{
const char* const Version = "1.0";
class Plugin : virtual public CORBA::Object
{
Plugin(const Plugin&);
void operator=(const Plugin&);
protected:
static const char* ids_[];
public:
Plugin() { }
virtual ~Plugin() { }
typedef Plugin_ptr _ptr_type;
typedef Plugin_var _var_type;
static inline Plugin_ptr
_duplicate(Plugin_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline Plugin_ptr
_nil()
{
return 0;
}
static Plugin_ptr _narrow(CORBA::Object_ptr);
static Plugin_ptr _narrow(CORBA::AbstractBase_ptr);
virtual PluginId id() = 0;
virtual ProfileId tag() = 0;
virtual void init_client(const ParamSeq& params) = 0;
virtual void init_server(const ParamSeq& params) = 0;
};
class Transport : virtual public CORBA::Object
{
Transport(const Transport&);
void operator=(const Transport&);
protected:
static const char* ids_[];
public:
Transport() { }
virtual ~Transport() { }
typedef Transport_ptr _ptr_type;
typedef Transport_var _var_type;
static inline Transport_ptr
_duplicate(Transport_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline Transport_ptr
_nil()
{
return 0;
}
static Transport_ptr _narrow(CORBA::Object_ptr);
static Transport_ptr _narrow(CORBA::AbstractBase_ptr);
virtual PluginId id() = 0;
virtual ProfileId tag() = 0;
virtual SendReceiveMode mode() = 0;
virtual Handle handle() = 0;
virtual void close() = 0;
virtual void shutdown() = 0;
virtual void receive(Buffer_ptr buf,
CORBA::Boolean block) = 0;
virtual CORBA::Boolean receive_detect(Buffer_ptr buf,
CORBA::Boolean block) = 0;
virtual void receive_timeout(Buffer_ptr buf,
CORBA::ULong timeout) = 0;
virtual CORBA::Boolean receive_timeout_detect(Buffer_ptr buf,
CORBA::ULong timeout) = 0;
virtual void send(Buffer_ptr buf,
CORBA::Boolean block) = 0;
virtual CORBA::Boolean send_detect(Buffer_ptr buf,
CORBA::Boolean block) = 0;
virtual void send_timeout(Buffer_ptr buf,
CORBA::ULong timeout) = 0;
virtual CORBA::Boolean send_timeout_detect(Buffer_ptr buf,
CORBA::ULong timeout) = 0;
virtual TransportInfo_ptr get_info() = 0;
};
class TransportInfo : virtual public CORBA::Object
{
TransportInfo(const TransportInfo&);
void operator=(const TransportInfo&);
protected:
static const char* ids_[];
public:
TransportInfo() { }
virtual ~TransportInfo() { }
typedef TransportInfo_ptr _ptr_type;
typedef TransportInfo_var _var_type;
static inline TransportInfo_ptr
_duplicate(TransportInfo_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline TransportInfo_ptr
_nil()
{
return 0;
}
static TransportInfo_ptr _narrow(CORBA::Object_ptr);
static TransportInfo_ptr _narrow(CORBA::AbstractBase_ptr);
virtual PluginId id() = 0;
virtual ProfileId tag() = 0;
virtual ConnectorInfo_ptr connector_info() = 0;
virtual AcceptorInfo_ptr acceptor_info() = 0;
virtual char* describe() = 0;
virtual void add_close_cb(CloseCB_ptr cb) = 0;
virtual void remove_close_cb(CloseCB_ptr cb) = 0;
};
class CloseCB : virtual public CORBA::Object
{
CloseCB(const CloseCB&);
void operator=(const CloseCB&);
protected:
static const char* ids_[];
public:
CloseCB() { }
virtual ~CloseCB() { }
typedef CloseCB_ptr _ptr_type;
typedef CloseCB_var _var_type;
static inline CloseCB_ptr
_duplicate(CloseCB_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline CloseCB_ptr
_nil()
{
return 0;
}
static CloseCB_ptr _narrow(CORBA::Object_ptr);
static CloseCB_ptr _narrow(CORBA::AbstractBase_ptr);
virtual void close_cb(TransportInfo_ptr transport_info) = 0;
};
class OBUnique_CloseCBSeq { };
typedef OB::ObjSeq< CloseCB, OBUnique_CloseCBSeq > CloseCBSeq;
typedef OB::SeqVar< OB::ObjSeq< CloseCB, OBUnique_CloseCBSeq > > CloseCBSeq_var;
typedef OB::SeqOut< OB::ObjSeq< CloseCB, OBUnique_CloseCBSeq > > CloseCBSeq_out;
class Connector : virtual public CORBA::Object
{
Connector(const Connector&);
void operator=(const Connector&);
protected:
static const char* ids_[];
public:
Connector() { }
virtual ~Connector() { }
typedef Connector_ptr _ptr_type;
typedef Connector_var _var_type;
static inline Connector_ptr
_duplicate(Connector_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline Connector_ptr
_nil()
{
return 0;
}
static Connector_ptr _narrow(CORBA::Object_ptr);
static Connector_ptr _narrow(CORBA::AbstractBase_ptr);
virtual PluginId id() = 0;
virtual ProfileId tag() = 0;
virtual Transport_ptr connect() = 0;
virtual Transport_ptr connect_timeout(CORBA::ULong timeout) = 0;
virtual ProfileInfoSeq* get_usable_profiles(const IOR& ref,
const ::CORBA::PolicyList& policies) = 0;
virtual CORBA::Boolean equal(Connector_ptr con) = 0;
virtual ConnectorInfo_ptr get_info() = 0;
};
class OBUnique_ConnectorSeq { };
typedef OB::ObjSeq< Connector, OBUnique_ConnectorSeq > ConnectorSeq;
typedef OB::SeqVar< OB::ObjSeq< Connector, OBUnique_ConnectorSeq > > ConnectorSeq_var;
typedef OB::SeqOut< OB::ObjSeq< Connector, OBUnique_ConnectorSeq > > ConnectorSeq_out;
class ConnectorInfo : virtual public CORBA::Object
{
ConnectorInfo(const ConnectorInfo&);
void operator=(const ConnectorInfo&);
protected:
static const char* ids_[];
public:
ConnectorInfo() { }
virtual ~ConnectorInfo() { }
typedef ConnectorInfo_ptr _ptr_type;
typedef ConnectorInfo_var _var_type;
static inline ConnectorInfo_ptr
_duplicate(ConnectorInfo_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline ConnectorInfo_ptr
_nil()
{
return 0;
}
static ConnectorInfo_ptr _narrow(CORBA::Object_ptr);
static ConnectorInfo_ptr _narrow(CORBA::AbstractBase_ptr);
virtual PluginId id() = 0;
virtual ProfileId tag() = 0;
virtual char* describe() = 0;
virtual void add_connect_cb(ConnectCB_ptr cb) = 0;
virtual void remove_connect_cb(ConnectCB_ptr cb) = 0;
};
class ConnectCB : virtual public CORBA::Object
{
ConnectCB(const ConnectCB&);
void operator=(const ConnectCB&);
protected:
static const char* ids_[];
public:
ConnectCB() { }
virtual ~ConnectCB() { }
typedef ConnectCB_ptr _ptr_type;
typedef ConnectCB_var _var_type;
static inline ConnectCB_ptr
_duplicate(ConnectCB_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline ConnectCB_ptr
_nil()
{
return 0;
}
static ConnectCB_ptr _narrow(CORBA::Object_ptr);
static ConnectCB_ptr _narrow(CORBA::AbstractBase_ptr);
virtual void connect_cb(TransportInfo_ptr transport_info) = 0;
};
class OBUnique_ConnectCBSeq { };
typedef OB::ObjSeq< ConnectCB, OBUnique_ConnectCBSeq > ConnectCBSeq;
typedef OB::SeqVar< OB::ObjSeq< ConnectCB, OBUnique_ConnectCBSeq > > ConnectCBSeq_var;
typedef OB::SeqOut< OB::ObjSeq< ConnectCB, OBUnique_ConnectCBSeq > > ConnectCBSeq_out;
class ConFactory : virtual public CORBA::Object
{
ConFactory(const ConFactory&);
void operator=(const ConFactory&);
protected:
static const char* ids_[];
public:
ConFactory() { }
virtual ~ConFactory() { }
typedef ConFactory_ptr _ptr_type;
typedef ConFactory_var _var_type;
static inline ConFactory_ptr
_duplicate(ConFactory_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline ConFactory_ptr
_nil()
{
return 0;
}
static ConFactory_ptr _narrow(CORBA::Object_ptr);
static ConFactory_ptr _narrow(CORBA::AbstractBase_ptr);
virtual PluginId id() = 0;
virtual ProfileId tag() = 0;
virtual char* describe_profile(const ::IOP::TaggedProfile& prof) = 0;
virtual CORBA::Boolean supports_protocol(const char* protocol) = 0;
virtual ::IOP::TaggedProfile* parse_address(const char* addr,
const ObjectKey& key) = 0;
virtual ConnectorSeq* create_connectors(const IOR& ref,
const ::CORBA::PolicyList& policies) = 0;
virtual CORBA::Boolean equivalent(const IOR& ior1,
const IOR& ior2) = 0;
virtual CORBA::ULong hash(const IOR& ref,
CORBA::ULong maximum) = 0;
virtual ConFactoryInfo_ptr get_info() = 0;
};
class OBUnique_ConFactorySeq { };
typedef OB::ObjSeq< ConFactory, OBUnique_ConFactorySeq > ConFactorySeq;
typedef OB::SeqVar< OB::ObjSeq< ConFactory, OBUnique_ConFactorySeq > > ConFactorySeq_var;
typedef OB::SeqOut< OB::ObjSeq< ConFactory, OBUnique_ConFactorySeq > > ConFactorySeq_out;
class ConFactoryInfo : virtual public CORBA::Object
{
ConFactoryInfo(const ConFactoryInfo&);
void operator=(const ConFactoryInfo&);
protected:
static const char* ids_[];
public:
ConFactoryInfo() { }
virtual ~ConFactoryInfo() { }
typedef ConFactoryInfo_ptr _ptr_type;
typedef ConFactoryInfo_var _var_type;
static inline ConFactoryInfo_ptr
_duplicate(ConFactoryInfo_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline ConFactoryInfo_ptr
_nil()
{
return 0;
}
static ConFactoryInfo_ptr _narrow(CORBA::Object_ptr);
static ConFactoryInfo_ptr _narrow(CORBA::AbstractBase_ptr);
virtual PluginId id() = 0;
virtual ProfileId tag() = 0;
virtual char* describe() = 0;
virtual void add_connect_cb(ConnectCB_ptr cb) = 0;
virtual void remove_connect_cb(ConnectCB_ptr cb) = 0;
};
struct FactoryAlreadyExists : public CORBA::UserException
{
FactoryAlreadyExists() { }
FactoryAlreadyExists(const FactoryAlreadyExists&);
FactoryAlreadyExists& operator=(const FactoryAlreadyExists&);
static FactoryAlreadyExists* _downcast(CORBA::Exception*);
static const FactoryAlreadyExists* _downcast(const CORBA::Exception*);
virtual const char* _name() const;
virtual void _raise() const { throw *this; }
virtual const char* _rep_id() const;
virtual char* _to_string() const;
virtual CORBA::Exception* _OB_clone() const;
virtual void _OB_insertInAny(CORBA::Any&);
OB::StrForStruct id;
FactoryAlreadyExists(const char*);
virtual void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(FactoryAlreadyExists&, OB::InputStreamImpl*);
};
struct NoSuchFactory : public CORBA::UserException
{
NoSuchFactory() { }
NoSuchFactory(const NoSuchFactory&);
NoSuchFactory& operator=(const NoSuchFactory&);
static NoSuchFactory* _downcast(CORBA::Exception*);
static const NoSuchFactory* _downcast(const CORBA::Exception*);
virtual const char* _name() const;
virtual void _raise() const { throw *this; }
virtual const char* _rep_id() const;
virtual char* _to_string() const;
virtual CORBA::Exception* _OB_clone() const;
virtual void _OB_insertInAny(CORBA::Any&);
OB::StrForStruct id;
NoSuchFactory(const char*);
virtual void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(NoSuchFactory&, OB::InputStreamImpl*);
};
class ConFactoryRegistry : virtual public CORBA::Object
{
ConFactoryRegistry(const ConFactoryRegistry&);
void operator=(const ConFactoryRegistry&);
protected:
static const char* ids_[];
public:
ConFactoryRegistry() { }
virtual ~ConFactoryRegistry() { }
typedef ConFactoryRegistry_ptr _ptr_type;
typedef ConFactoryRegistry_var _var_type;
static inline ConFactoryRegistry_ptr
_duplicate(ConFactoryRegistry_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline ConFactoryRegistry_ptr
_nil()
{
return 0;
}
static ConFactoryRegistry_ptr _narrow(CORBA::Object_ptr);
static ConFactoryRegistry_ptr _narrow(CORBA::AbstractBase_ptr);
virtual void add_factory(ConFactory_ptr factory) = 0;
virtual ConFactory_ptr get_factory(const char* id) = 0;
virtual ConFactorySeq* get_factories() = 0;
};
}
namespace OBProxy_OCI
{
}
namespace OBStubImpl_OCI
{
}
namespace OBMarshalStubImpl_OCI
{
}
namespace OBV_OCI
{
}
namespace CORBA
{
inline void
release(::OCI::Plugin_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::OCI::Plugin_ptr p)
{
return p == 0;
}
}
namespace CORBA
{
inline void
release(::OCI::Transport_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::OCI::Transport_ptr p)
{
return p == 0;
}
}
namespace CORBA
{
inline void
release(::OCI::TransportInfo_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::OCI::TransportInfo_ptr p)
{
return p == 0;
}
}
namespace CORBA
{
inline void
release(::OCI::CloseCB_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::OCI::CloseCB_ptr p)
{
return p == 0;
}
}
namespace CORBA
{
inline void
release(::OCI::Connector_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::OCI::Connector_ptr p)
{
return p == 0;
}
}
namespace CORBA
{
inline void
release(::OCI::ConnectorInfo_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::OCI::ConnectorInfo_ptr p)
{
return p == 0;
}
}
namespace CORBA
{
inline void
release(::OCI::ConnectCB_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::OCI::ConnectCB_ptr p)
{
return p == 0;
}
}
namespace CORBA
{
inline void
release(::OCI::ConFactory_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::OCI::ConFactory_ptr p)
{
return p == 0;
}
}
namespace CORBA
{
inline void
release(::OCI::ConFactoryInfo_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::OCI::ConFactoryInfo_ptr p)
{
return p == 0;
}
}
namespace CORBA
{
inline void
release(::OCI::ConFactoryRegistry_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::OCI::ConFactoryRegistry_ptr p)
{
return p == 0;
}
}
# 28 "../../include/OB/OCI.h" 2
# 1 "../../include/OB/Current.h" 1
# 29 "../../include/OB/OCI.h" 2
# 1 "../../include/OB/OCI_fwd.h" 1
# 30 "../../include/OB/OCI.h" 2
# 41 "../../include/OB/OCI.h"
namespace OBStubImpl_OCI
{
}
namespace OBStubImpl_OCI
{
}
namespace OCI
{
class Acceptor : virtual public CORBA::Object
{
Acceptor(const Acceptor&);
void operator=(const Acceptor&);
protected:
static const char* ids_[];
public:
Acceptor() { }
virtual ~Acceptor() { }
typedef Acceptor_ptr _ptr_type;
typedef Acceptor_var _var_type;
static inline Acceptor_ptr
_duplicate(Acceptor_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline Acceptor_ptr
_nil()
{
return 0;
}
static Acceptor_ptr _narrow(CORBA::Object_ptr);
static Acceptor_ptr _narrow(CORBA::AbstractBase_ptr);
virtual PluginId id() = 0;
virtual ProfileId tag() = 0;
virtual Handle handle() = 0;
virtual void close() = 0;
virtual void shutdown() = 0;
virtual void listen() = 0;
virtual Transport_ptr accept(CORBA::Boolean block) = 0;
virtual Transport_ptr connect_self() = 0;
virtual void add_profiles(const ProfileInfo& profile_info,
IOR& ref) = 0;
virtual ProfileInfoSeq* get_local_profiles(const IOR& ref) = 0;
virtual AcceptorInfo_ptr get_info() = 0;
};
class OBUnique_AcceptorSeq { };
typedef OB::ObjSeq< Acceptor, OBUnique_AcceptorSeq > AcceptorSeq;
typedef OB::SeqVar< OB::ObjSeq< Acceptor, OBUnique_AcceptorSeq > > AcceptorSeq_var;
typedef OB::SeqOut< OB::ObjSeq< Acceptor, OBUnique_AcceptorSeq > > AcceptorSeq_out;
class AcceptorInfo : virtual public CORBA::Object
{
AcceptorInfo(const AcceptorInfo&);
void operator=(const AcceptorInfo&);
protected:
static const char* ids_[];
public:
AcceptorInfo() { }
virtual ~AcceptorInfo() { }
typedef AcceptorInfo_ptr _ptr_type;
typedef AcceptorInfo_var _var_type;
static inline AcceptorInfo_ptr
_duplicate(AcceptorInfo_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline AcceptorInfo_ptr
_nil()
{
return 0;
}
static AcceptorInfo_ptr _narrow(CORBA::Object_ptr);
static AcceptorInfo_ptr _narrow(CORBA::AbstractBase_ptr);
virtual PluginId id() = 0;
virtual ProfileId tag() = 0;
virtual char* describe() = 0;
virtual void add_accept_cb(AcceptCB_ptr cb) = 0;
virtual void remove_accept_cb(AcceptCB_ptr cb) = 0;
};
class AcceptCB : virtual public CORBA::Object
{
AcceptCB(const AcceptCB&);
void operator=(const AcceptCB&);
protected:
static const char* ids_[];
public:
AcceptCB() { }
virtual ~AcceptCB() { }
typedef AcceptCB_ptr _ptr_type;
typedef AcceptCB_var _var_type;
static inline AcceptCB_ptr
_duplicate(AcceptCB_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline AcceptCB_ptr
_nil()
{
return 0;
}
static AcceptCB_ptr _narrow(CORBA::Object_ptr);
static AcceptCB_ptr _narrow(CORBA::AbstractBase_ptr);
virtual void accept_cb(TransportInfo_ptr transport_info) = 0;
};
class OBUnique_AcceptCBSeq { };
typedef OB::ObjSeq< AcceptCB, OBUnique_AcceptCBSeq > AcceptCBSeq;
typedef OB::SeqVar< OB::ObjSeq< AcceptCB, OBUnique_AcceptCBSeq > > AcceptCBSeq_var;
typedef OB::SeqOut< OB::ObjSeq< AcceptCB, OBUnique_AcceptCBSeq > > AcceptCBSeq_out;
struct InvalidParam : public CORBA::UserException
{
InvalidParam() { }
InvalidParam(const InvalidParam&);
InvalidParam& operator=(const InvalidParam&);
static InvalidParam* _downcast(CORBA::Exception*);
static const InvalidParam* _downcast(const CORBA::Exception*);
virtual const char* _name() const;
virtual void _raise() const { throw *this; }
virtual const char* _rep_id() const;
virtual char* _to_string() const;
virtual CORBA::Exception* _OB_clone() const;
virtual void _OB_insertInAny(CORBA::Any&);
OB::StrForStruct reason;
InvalidParam(const char*);
virtual void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(InvalidParam&, OB::InputStreamImpl*);
};
class AccFactory : virtual public CORBA::Object
{
AccFactory(const AccFactory&);
void operator=(const AccFactory&);
protected:
static const char* ids_[];
public:
AccFactory() { }
virtual ~AccFactory() { }
typedef AccFactory_ptr _ptr_type;
typedef AccFactory_var _var_type;
static inline AccFactory_ptr
_duplicate(AccFactory_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline AccFactory_ptr
_nil()
{
return 0;
}
static AccFactory_ptr _narrow(CORBA::Object_ptr);
static AccFactory_ptr _narrow(CORBA::AbstractBase_ptr);
virtual PluginId id() = 0;
virtual ProfileId tag() = 0;
virtual Acceptor_ptr create_acceptor(const ParamSeq& params) = 0;
virtual void change_key(::IOP::IOR& ior,
const ObjectKey& key) = 0;
virtual AccFactoryInfo_ptr get_info() = 0;
};
class OBUnique_AccFactorySeq { };
typedef OB::ObjSeq< AccFactory, OBUnique_AccFactorySeq > AccFactorySeq;
typedef OB::SeqVar< OB::ObjSeq< AccFactory, OBUnique_AccFactorySeq > > AccFactorySeq_var;
typedef OB::SeqOut< OB::ObjSeq< AccFactory, OBUnique_AccFactorySeq > > AccFactorySeq_out;
class AccFactoryInfo : virtual public CORBA::Object
{
AccFactoryInfo(const AccFactoryInfo&);
void operator=(const AccFactoryInfo&);
protected:
static const char* ids_[];
public:
AccFactoryInfo() { }
virtual ~AccFactoryInfo() { }
typedef AccFactoryInfo_ptr _ptr_type;
typedef AccFactoryInfo_var _var_type;
static inline AccFactoryInfo_ptr
_duplicate(AccFactoryInfo_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline AccFactoryInfo_ptr
_nil()
{
return 0;
}
static AccFactoryInfo_ptr _narrow(CORBA::Object_ptr);
static AccFactoryInfo_ptr _narrow(CORBA::AbstractBase_ptr);
virtual PluginId id() = 0;
virtual ProfileId tag() = 0;
virtual char* describe() = 0;
};
class AccFactoryRegistry : virtual public CORBA::Object
{
AccFactoryRegistry(const AccFactoryRegistry&);
void operator=(const AccFactoryRegistry&);
protected:
static const char* ids_[];
public:
AccFactoryRegistry() { }
virtual ~AccFactoryRegistry() { }
typedef AccFactoryRegistry_ptr _ptr_type;
typedef AccFactoryRegistry_var _var_type;
static inline AccFactoryRegistry_ptr
_duplicate(AccFactoryRegistry_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline AccFactoryRegistry_ptr
_nil()
{
return 0;
}
static AccFactoryRegistry_ptr _narrow(CORBA::Object_ptr);
static AccFactoryRegistry_ptr _narrow(CORBA::AbstractBase_ptr);
virtual void add_factory(AccFactory_ptr factory) = 0;
virtual AccFactory_ptr get_factory(const char* id) = 0;
virtual AccFactorySeq* get_factories() = 0;
};
class Current : virtual public ::CORBA::Current
{
Current(const Current&);
void operator=(const Current&);
protected:
static const char* ids_[];
public:
Current() { }
virtual ~Current() { }
typedef Current_ptr _ptr_type;
typedef Current_var _var_type;
static inline Current_ptr
_duplicate(Current_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline Current_ptr
_nil()
{
return 0;
}
static Current_ptr _narrow(CORBA::Object_ptr);
static Current_ptr _narrow(CORBA::AbstractBase_ptr);
virtual TransportInfo_ptr get_oci_transport_info() = 0;
virtual AcceptorInfo_ptr get_oci_acceptor_info() = 0;
};
}
namespace OBProxy_OCI
{
}
namespace OBStubImpl_OCI
{
}
namespace OBMarshalStubImpl_OCI
{
}
namespace OBV_OCI
{
}
namespace CORBA
{
inline void
release(::OCI::Acceptor_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::OCI::Acceptor_ptr p)
{
return p == 0;
}
}
namespace CORBA
{
inline void
release(::OCI::AcceptorInfo_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::OCI::AcceptorInfo_ptr p)
{
return p == 0;
}
}
namespace CORBA
{
inline void
release(::OCI::AcceptCB_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::OCI::AcceptCB_ptr p)
{
return p == 0;
}
}
namespace CORBA
{
inline void
release(::OCI::AccFactory_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::OCI::AccFactory_ptr p)
{
return p == 0;
}
}
namespace CORBA
{
inline void
release(::OCI::AccFactoryInfo_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::OCI::AccFactoryInfo_ptr p)
{
return p == 0;
}
}
namespace CORBA
{
inline void
release(::OCI::AccFactoryRegistry_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::OCI::AccFactoryRegistry_ptr p)
{
return p == 0;
}
}
namespace CORBA
{
inline void
release(::OCI::Current_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::OCI::Current_ptr p)
{
return p == 0;
}
}
# 29 "../../include/OB/OBPOAManager.h" 2
# 1 "../../include/OB/OBPOAManager_fwd.h" 1
# 30 "../../include/OB/OBPOAManager.h" 2
# 41 "../../include/OB/OBPOAManager.h"
namespace OBStubImpl_OBPortableServer
{
}
namespace OBStubImpl_OBPortableServer
{
}
namespace OBPortableServer
{
class POAManager : virtual public ::PortableServer::POAManager
{
POAManager(const POAManager&);
void operator=(const POAManager&);
protected:
static const char* ids_[];
public:
POAManager() { }
virtual ~POAManager() { }
typedef POAManager_ptr _ptr_type;
typedef POAManager_var _var_type;
static inline POAManager_ptr
_duplicate(POAManager_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline POAManager_ptr
_nil()
{
return 0;
}
static POAManager_ptr _narrow(CORBA::Object_ptr);
static POAManager_ptr _narrow(CORBA::AbstractBase_ptr);
virtual char* name() = 0;
virtual ::OCI::AcceptorSeq* get_acceptors() = 0;
};
class OBUnique_POAManagerSeq { };
typedef OB::ObjSeq< POAManager, OBUnique_POAManagerSeq > POAManagerSeq;
typedef OB::SeqVar< OB::ObjSeq< POAManager, OBUnique_POAManagerSeq > > POAManagerSeq_var;
typedef OB::SeqOut< OB::ObjSeq< POAManager, OBUnique_POAManagerSeq > > POAManagerSeq_out;
class POAManagerFactory : virtual public CORBA::Object
{
POAManagerFactory(const POAManagerFactory&);
void operator=(const POAManagerFactory&);
protected:
static const char* ids_[];
public:
POAManagerFactory() { }
virtual ~POAManagerFactory() { }
typedef POAManagerFactory_ptr _ptr_type;
typedef POAManagerFactory_var _var_type;
static inline POAManagerFactory_ptr
_duplicate(POAManagerFactory_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline POAManagerFactory_ptr
_nil()
{
return 0;
}
static POAManagerFactory_ptr _narrow(CORBA::Object_ptr);
static POAManagerFactory_ptr _narrow(CORBA::AbstractBase_ptr);
struct AcceptorConfig;
typedef OB::VarVar< AcceptorConfig > AcceptorConfig_var;
typedef OB::VarOut< AcceptorConfig > AcceptorConfig_out;
struct AcceptorConfig
{
AcceptorConfig() { }
AcceptorConfig(const AcceptorConfig&);
AcceptorConfig& operator=(const AcceptorConfig&);
typedef AcceptorConfig_var _var_type;
OB::StrForStruct id;
::OCI::ParamSeq params;
void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(AcceptorConfig&, OB::InputStreamImpl*);
};
class OBUnique_AcceptorConfigSeq { };
typedef OB::VarSeq< AcceptorConfig, OBUnique_AcceptorConfigSeq > AcceptorConfigSeq;
typedef OB::SeqVar< OB::VarSeq< AcceptorConfig, OBUnique_AcceptorConfigSeq > > AcceptorConfigSeq_var;
typedef OB::SeqOut< OB::VarSeq< AcceptorConfig, OBUnique_AcceptorConfigSeq > > AcceptorConfigSeq_out;
struct POAManagerAlreadyExists : public CORBA::UserException
{
POAManagerAlreadyExists() { }
POAManagerAlreadyExists(const POAManagerAlreadyExists&);
POAManagerAlreadyExists& operator=(const POAManagerAlreadyExists&);
static POAManagerAlreadyExists* _downcast(CORBA::Exception*);
static const POAManagerAlreadyExists* _downcast(const CORBA::Exception*);
virtual const char* _name() const;
virtual void _raise() const { throw *this; }
virtual const char* _rep_id() const;
virtual char* _to_string() const;
virtual CORBA::Exception* _OB_clone() const;
virtual void _OB_insertInAny(CORBA::Any&);
static void _OB_unmarshal(POAManagerAlreadyExists&, OB::InputStreamImpl*);
};
virtual POAManager_ptr create_poa_manager(const char* name) = 0;
virtual POAManager_ptr create_poa_manager_with_config(const char* name,
const AcceptorConfigSeq& config) = 0;
virtual POAManagerSeq* get_poa_managers() = 0;
virtual void destroy() = 0;
};
}
namespace OBProxy_OBPortableServer
{
}
namespace OBStubImpl_OBPortableServer
{
}
namespace OBMarshalStubImpl_OBPortableServer
{
}
namespace OBV_OBPortableServer
{
}
namespace CORBA
{
inline void
release(::OBPortableServer::POAManager_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::OBPortableServer::POAManager_ptr p)
{
return p == 0;
}
}
namespace CORBA
{
inline void
release(::OBPortableServer::POAManagerFactory_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::OBPortableServer::POAManagerFactory_ptr p)
{
return p == 0;
}
}
# 30 "../../include/OB/CORBA.h" 2
# 1 "../../include/OB/OBPOAInterface.h" 1
# 27 "../../include/OB/OBPOAInterface.h"
# 1 "../../include/OB/OBPOAPolicies.h" 1
# 27 "../../include/OB/OBPOAPolicies.h"
# 1 "../../include/OB/Policy.h" 1
# 28 "../../include/OB/OBPOAPolicies.h" 2
# 1 "../../include/OB/Dispatch.h" 1
# 29 "../../include/OB/OBPOAPolicies.h" 2
# 1 "../../include/OB/OBPOAPolicies_fwd.h" 1
# 18 "../../include/OB/OBPOAPolicies_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 19 "../../include/OB/OBPOAPolicies_fwd.h" 2
# 39 "../../include/OB/OBPOAPolicies_fwd.h"
namespace OBPortableServer
{
class SynchronizationPolicy;
typedef SynchronizationPolicy* SynchronizationPolicy_ptr;
typedef SynchronizationPolicy* SynchronizationPolicyRef;
extern OB::TypeCodeConst _tc_SynchronizationPolicy;
class DispatchStrategyPolicy;
typedef DispatchStrategyPolicy* DispatchStrategyPolicy_ptr;
typedef DispatchStrategyPolicy* DispatchStrategyPolicyRef;
extern OB::TypeCodeConst _tc_DispatchStrategyPolicy;
class InterceptorCallPolicy;
typedef InterceptorCallPolicy* InterceptorCallPolicy_ptr;
typedef InterceptorCallPolicy* InterceptorCallPolicyRef;
extern OB::TypeCodeConst _tc_InterceptorCallPolicy;
}
void OBDuplicate(OBPortableServer::SynchronizationPolicy_ptr);
void OBRelease(OBPortableServer::SynchronizationPolicy_ptr);
void OBMarshal(OBPortableServer::SynchronizationPolicy_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OBPortableServer::SynchronizationPolicy_ptr&, OB::InputStreamImpl*);
void OBDuplicate(OBPortableServer::DispatchStrategyPolicy_ptr);
void OBRelease(OBPortableServer::DispatchStrategyPolicy_ptr);
void OBMarshal(OBPortableServer::DispatchStrategyPolicy_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OBPortableServer::DispatchStrategyPolicy_ptr&, OB::InputStreamImpl*);
void OBDuplicate(OBPortableServer::InterceptorCallPolicy_ptr);
void OBRelease(OBPortableServer::InterceptorCallPolicy_ptr);
void OBMarshal(OBPortableServer::InterceptorCallPolicy_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OBPortableServer::InterceptorCallPolicy_ptr&, OB::InputStreamImpl*);
namespace OBPortableServer
{
typedef OB::ObjVar< SynchronizationPolicy > SynchronizationPolicy_var;
typedef OB::ObjOut< SynchronizationPolicy > SynchronizationPolicy_out;
typedef OB::ObjVar< DispatchStrategyPolicy > DispatchStrategyPolicy_var;
typedef OB::ObjOut< DispatchStrategyPolicy > DispatchStrategyPolicy_out;
typedef OB::ObjVar< InterceptorCallPolicy > InterceptorCallPolicy_var;
typedef OB::ObjOut< InterceptorCallPolicy > InterceptorCallPolicy_out;
}
# 30 "../../include/OB/OBPOAPolicies.h" 2
# 41 "../../include/OB/OBPOAPolicies.h"
namespace OBStubImpl_OBPortableServer
{
}
namespace OBStubImpl_OBPortableServer
{
}
namespace OBPortableServer
{
const ::CORBA::PolicyType SYNCHRONIZATION_POLICY_ID = 1330577665U;
enum SynchronizationPolicyValue
{
NO_SYNCHRONIZATION,
SYNCHRONIZE_ON_POA,
SYNCHRONIZE_ON_ORB
};
typedef SynchronizationPolicyValue& SynchronizationPolicyValue_out;
extern OB::TypeCodeConst _tc_SynchronizationPolicyValue;
class SynchronizationPolicy : virtual public ::CORBA::Policy
{
SynchronizationPolicy(const SynchronizationPolicy&);
void operator=(const SynchronizationPolicy&);
protected:
static const char* ids_[];
public:
SynchronizationPolicy() { }
virtual ~SynchronizationPolicy() { }
typedef SynchronizationPolicy_ptr _ptr_type;
typedef SynchronizationPolicy_var _var_type;
static inline SynchronizationPolicy_ptr
_duplicate(SynchronizationPolicy_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline SynchronizationPolicy_ptr
_nil()
{
return 0;
}
static SynchronizationPolicy_ptr _narrow(CORBA::Object_ptr);
static SynchronizationPolicy_ptr _narrow(CORBA::AbstractBase_ptr);
virtual SynchronizationPolicyValue value() = 0;
};
const ::CORBA::PolicyType DISPATCH_STRATEGY_POLICY_ID = 1330577666U;
class DispatchStrategyPolicy : virtual public ::CORBA::Policy
{
DispatchStrategyPolicy(const DispatchStrategyPolicy&);
void operator=(const DispatchStrategyPolicy&);
protected:
static const char* ids_[];
public:
DispatchStrategyPolicy() { }
virtual ~DispatchStrategyPolicy() { }
typedef DispatchStrategyPolicy_ptr _ptr_type;
typedef DispatchStrategyPolicy_var _var_type;
static inline DispatchStrategyPolicy_ptr
_duplicate(DispatchStrategyPolicy_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline DispatchStrategyPolicy_ptr
_nil()
{
return 0;
}
static DispatchStrategyPolicy_ptr _narrow(CORBA::Object_ptr);
static DispatchStrategyPolicy_ptr _narrow(CORBA::AbstractBase_ptr);
virtual ::OB::DispatchStrategy_ptr value() = 0;
};
const ::CORBA::PolicyType INTERCEPTOR_CALL_POLICY_ID = 1330577667U;
class InterceptorCallPolicy : virtual public ::CORBA::Policy
{
InterceptorCallPolicy(const InterceptorCallPolicy&);
void operator=(const InterceptorCallPolicy&);
protected:
static const char* ids_[];
public:
InterceptorCallPolicy() { }
virtual ~InterceptorCallPolicy() { }
typedef InterceptorCallPolicy_ptr _ptr_type;
typedef InterceptorCallPolicy_var _var_type;
static inline InterceptorCallPolicy_ptr
_duplicate(InterceptorCallPolicy_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline InterceptorCallPolicy_ptr
_nil()
{
return 0;
}
static InterceptorCallPolicy_ptr _narrow(CORBA::Object_ptr);
static InterceptorCallPolicy_ptr _narrow(CORBA::AbstractBase_ptr);
virtual CORBA::Boolean value() = 0;
};
}
namespace OBProxy_OBPortableServer
{
}
namespace OBStubImpl_OBPortableServer
{
}
namespace OBMarshalStubImpl_OBPortableServer
{
}
namespace OBV_OBPortableServer
{
}
void operator<<=(CORBA::Any&, OBPortableServer::SynchronizationPolicyValue);
CORBA::Boolean operator>>=(const CORBA::Any&, OBPortableServer::SynchronizationPolicyValue&);
inline void
operator<<=(CORBA::Any_var& any, OBPortableServer::SynchronizationPolicyValue val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, OBPortableServer::SynchronizationPolicyValue& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::OBPortableServer::SynchronizationPolicy_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::OBPortableServer::SynchronizationPolicy_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, OBPortableServer::SynchronizationPolicy_ptr*);
void operator<<=(CORBA::Any&, OBPortableServer::SynchronizationPolicy_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, OBPortableServer::SynchronizationPolicy_ptr&);
inline void
operator<<=(CORBA::Any_var& any, OBPortableServer::SynchronizationPolicy_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, OBPortableServer::SynchronizationPolicy_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, OBPortableServer::SynchronizationPolicy_ptr& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::OBPortableServer::DispatchStrategyPolicy_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::OBPortableServer::DispatchStrategyPolicy_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, OBPortableServer::DispatchStrategyPolicy_ptr*);
void operator<<=(CORBA::Any&, OBPortableServer::DispatchStrategyPolicy_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, OBPortableServer::DispatchStrategyPolicy_ptr&);
inline void
operator<<=(CORBA::Any_var& any, OBPortableServer::DispatchStrategyPolicy_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, OBPortableServer::DispatchStrategyPolicy_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, OBPortableServer::DispatchStrategyPolicy_ptr& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::OBPortableServer::InterceptorCallPolicy_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::OBPortableServer::InterceptorCallPolicy_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, OBPortableServer::InterceptorCallPolicy_ptr*);
void operator<<=(CORBA::Any&, OBPortableServer::InterceptorCallPolicy_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, OBPortableServer::InterceptorCallPolicy_ptr&);
inline void
operator<<=(CORBA::Any_var& any, OBPortableServer::InterceptorCallPolicy_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, OBPortableServer::InterceptorCallPolicy_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, OBPortableServer::InterceptorCallPolicy_ptr& val)
{
return any.in() >>= val;
}
# 28 "../../include/OB/OBPOAInterface.h" 2
# 1 "../../include/OB/POAInterface.h" 1
# 29 "../../include/OB/OBPOAInterface.h" 2
# 1 "../../include/OB/PIORT.h" 1
# 27 "../../include/OB/PIORT.h"
# 1 "../../include/OB/PICommon.h" 1
# 27 "../../include/OB/PICommon.h"
# 1 "../../include/OB/Types.h" 1
# 28 "../../include/OB/PICommon.h" 2
# 1 "../../include/OB/PICommon_fwd.h" 1
# 18 "../../include/OB/PICommon_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 19 "../../include/OB/PICommon_fwd.h" 2
# 39 "../../include/OB/PICommon_fwd.h"
namespace PortableInterceptor
{
class Interceptor;
typedef Interceptor* Interceptor_ptr;
typedef Interceptor* InterceptorRef;
extern OB::TypeCodeConst _tc_Interceptor;
}
void OBDuplicate(PortableInterceptor::Interceptor_ptr);
void OBRelease(PortableInterceptor::Interceptor_ptr);
void OBMarshal(PortableInterceptor::Interceptor_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(PortableInterceptor::Interceptor_ptr&, OB::InputStreamImpl*);
namespace PortableInterceptor
{
typedef OB::ObjVar< Interceptor > Interceptor_var;
typedef OB::ObjOut< Interceptor > Interceptor_out;
}
# 29 "../../include/OB/PICommon.h" 2
# 40 "../../include/OB/PICommon.h"
namespace OBStubImpl_PortableInterceptor
{
}
namespace OBStubImpl_PortableInterceptor
{
}
namespace PortableInterceptor
{
class Interceptor : virtual public CORBA::Object
{
Interceptor(const Interceptor&);
void operator=(const Interceptor&);
protected:
static const char* ids_[];
public:
Interceptor() { }
virtual ~Interceptor() { }
typedef Interceptor_ptr _ptr_type;
typedef Interceptor_var _var_type;
static inline Interceptor_ptr
_duplicate(Interceptor_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline Interceptor_ptr
_nil()
{
return 0;
}
static Interceptor_ptr _narrow(CORBA::Object_ptr);
static Interceptor_ptr _narrow(CORBA::AbstractBase_ptr);
virtual char* name() = 0;
virtual void destroy() = 0;
};
struct ForwardRequest : public CORBA::UserException
{
ForwardRequest() { }
ForwardRequest(const ForwardRequest&);
ForwardRequest& operator=(const ForwardRequest&);
static ForwardRequest* _downcast(CORBA::Exception*);
static const ForwardRequest* _downcast(const CORBA::Exception*);
virtual const char* _name() const;
virtual void _raise() const { throw *this; }
virtual const char* _rep_id() const;
virtual char* _to_string() const;
virtual CORBA::Exception* _OB_clone() const;
virtual void _OB_insertInAny(CORBA::Any&);
CORBA::Object_var forward;
CORBA::Boolean permanent;
ForwardRequest(CORBA::Object_ptr,
CORBA::Boolean);
virtual void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(ForwardRequest&, OB::InputStreamImpl*);
};
extern OB::TypeCodeConst _tc_ForwardRequest;
typedef CORBA::Short ReplyStatus;
typedef CORBA::Short_out ReplyStatus_out;
extern OB::TypeCodeConst _tc_ReplyStatus;
const ReplyStatus SUCCESSFUL = 0;
const ReplyStatus SYSTEM_EXCEPTION = 1;
const ReplyStatus USER_EXCEPTION = 2;
const ReplyStatus LOCATION_FORWARD = 3;
const ReplyStatus LOCATION_FORWARD_PERMANENT = 4;
const ReplyStatus TRANSPORT_RETRY = 5;
typedef CORBA::ULong SlotId;
typedef CORBA::ULong_out SlotId_out;
extern OB::TypeCodeConst _tc_SlotId;
struct InvalidSlot : public CORBA::UserException
{
InvalidSlot() { }
InvalidSlot(const InvalidSlot&);
InvalidSlot& operator=(const InvalidSlot&);
static InvalidSlot* _downcast(CORBA::Exception*);
static const InvalidSlot* _downcast(const CORBA::Exception*);
virtual const char* _name() const;
virtual void _raise() const { throw *this; }
virtual const char* _rep_id() const;
virtual char* _to_string() const;
virtual CORBA::Exception* _OB_clone() const;
virtual void _OB_insertInAny(CORBA::Any&);
static void _OB_unmarshal(InvalidSlot&, OB::InputStreamImpl*);
};
extern OB::TypeCodeConst _tc_InvalidSlot;
typedef char* ServerId;
typedef CORBA::String_var ServerId_var;
typedef CORBA::String_out ServerId_out;
extern OB::TypeCodeConst _tc_ServerId;
typedef char* ORBId;
typedef CORBA::String_var ORBId_var;
typedef CORBA::String_out ORBId_out;
extern OB::TypeCodeConst _tc_ORBId;
typedef OB::StrSeq< CORBA::OBUnique_StringSeq > AdapterName;
typedef OB::SeqVar< OB::StrSeq< CORBA::OBUnique_StringSeq > > AdapterName_var;
typedef OB::SeqOut< OB::StrSeq< CORBA::OBUnique_StringSeq > > AdapterName_out;
extern OB::TypeCodeConst _tc_AdapterName;
struct OBInfo_AdapterName : public OB::ConstructedInfo
{
OBInfo_AdapterName() { }
virtual void free(void* p) const
{
delete (AdapterName*)p;
}
virtual void* dup(const void* p) const
{
return new AdapterName(*(const AdapterName*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
typedef OB::FixSeq< CORBA::Octet, CORBA::OBUnique_OctetSeq > ObjectId;
typedef OB::SeqVar< OB::FixSeq< CORBA::Octet, CORBA::OBUnique_OctetSeq > > ObjectId_var;
typedef OB::SeqOut< OB::FixSeq< CORBA::Octet, CORBA::OBUnique_OctetSeq > > ObjectId_out;
extern OB::TypeCodeConst _tc_ObjectId;
struct OBInfo_ObjectId : public OB::ConstructedInfo
{
OBInfo_ObjectId() { }
virtual void free(void* p) const
{
delete (ObjectId*)p;
}
virtual void* dup(const void* p) const
{
return new ObjectId(*(const ObjectId*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
typedef CORBA::Long AdapterManagerId;
typedef CORBA::Long_out AdapterManagerId_out;
extern OB::TypeCodeConst _tc_AdapterManagerId;
const CORBA::Short HOLDING = 0;
const CORBA::Short ACTIVE = 1;
const CORBA::Short DISCARDING = 2;
const CORBA::Short INACTIVE = 3;
const CORBA::Short NON_EXISTENT = 4;
typedef CORBA::Short AdapterState;
typedef CORBA::Short_out AdapterState_out;
extern OB::TypeCodeConst _tc_AdapterState;
}
namespace OBProxy_PortableInterceptor
{
}
namespace OBStubImpl_PortableInterceptor
{
}
namespace OBMarshalStubImpl_PortableInterceptor
{
}
namespace OBV_PortableInterceptor
{
}
namespace CORBA
{
inline void
release(::PortableInterceptor::Interceptor_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::PortableInterceptor::Interceptor_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, PortableInterceptor::Interceptor_ptr*);
void operator<<=(CORBA::Any&, PortableInterceptor::Interceptor_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, PortableInterceptor::Interceptor_ptr&);
inline void
operator<<=(CORBA::Any_var& any, PortableInterceptor::Interceptor_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, PortableInterceptor::Interceptor_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, PortableInterceptor::Interceptor_ptr& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, PortableInterceptor::ForwardRequest*);
void operator<<=(CORBA::Any&, const PortableInterceptor::ForwardRequest&);
CORBA::Boolean operator>>=(const CORBA::Any&, const PortableInterceptor::ForwardRequest*&);
inline void
operator<<=(CORBA::Any_var& any, PortableInterceptor::ForwardRequest* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const PortableInterceptor::ForwardRequest& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const PortableInterceptor::ForwardRequest*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, PortableInterceptor::InvalidSlot*);
void operator<<=(CORBA::Any&, const PortableInterceptor::InvalidSlot&);
CORBA::Boolean operator>>=(const CORBA::Any&, const PortableInterceptor::InvalidSlot*&);
inline void
operator<<=(CORBA::Any_var& any, PortableInterceptor::InvalidSlot* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const PortableInterceptor::InvalidSlot& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const PortableInterceptor::InvalidSlot*& val)
{
return any.in() >>= val;
}
# 28 "../../include/OB/PIORT.h" 2
# 1 "../../include/OB/PIORT_fwd.h" 1
# 18 "../../include/OB/PIORT_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 19 "../../include/OB/PIORT_fwd.h" 2
# 39 "../../include/OB/PIORT_fwd.h"
namespace PortableInterceptor
{
class ObjectReferenceFactory;
extern OB::TypeCodeConst _tc_ObjectReferenceFactory;
class ObjectReferenceTemplate;
extern OB::TypeCodeConst _tc_ObjectReferenceTemplate;
}
void OBDuplicate(PortableInterceptor::ObjectReferenceFactory*);
void OBRelease(PortableInterceptor::ObjectReferenceFactory*);
void OBMarshal(PortableInterceptor::ObjectReferenceFactory*, OB::OutputStreamImpl*);
void OBUnmarshal(PortableInterceptor::ObjectReferenceFactory*&, OB::InputStreamImpl*);
void OBDuplicate(PortableInterceptor::ObjectReferenceTemplate*);
void OBRelease(PortableInterceptor::ObjectReferenceTemplate*);
void OBMarshal(PortableInterceptor::ObjectReferenceTemplate*, OB::OutputStreamImpl*);
void OBUnmarshal(PortableInterceptor::ObjectReferenceTemplate*&, OB::InputStreamImpl*);
namespace PortableInterceptor
{
typedef OB::ObjVar< ObjectReferenceFactory > ObjectReferenceFactory_var;
typedef OB::ObjOut< ObjectReferenceFactory > ObjectReferenceFactory_out;
typedef OB::ObjVar< ObjectReferenceTemplate > ObjectReferenceTemplate_var;
typedef OB::ObjOut< ObjectReferenceTemplate > ObjectReferenceTemplate_out;
}
# 29 "../../include/OB/PIORT.h" 2
# 40 "../../include/OB/PIORT.h"
namespace OBStubImpl_PortableInterceptor
{
}
namespace OBStubImpl_PortableInterceptor
{
}
namespace PortableInterceptor
{
class ObjectReferenceFactory : virtual public CORBA::ValueBase
{
void operator=(const ObjectReferenceFactory&);
static const char* _ob_id_;
protected:
ObjectReferenceFactory() { }
virtual ~ObjectReferenceFactory() { }
public:
typedef ObjectReferenceFactory_var _var_type;
static ObjectReferenceFactory* _downcast(CORBA::ValueBase*);
static ObjectReferenceFactory* _downcast(CORBA::AbstractBase_ptr);
virtual CORBA::Object_ptr make_object(const char* repository_id,
const ObjectId& id) = 0;
static const char* _OB_id();
virtual const char* _OB_typeId() const;
};
class ObjectReferenceTemplate : virtual public ::PortableInterceptor::ObjectReferenceFactory
{
void operator=(const ObjectReferenceTemplate&);
static const char* _ob_id_;
protected:
ObjectReferenceTemplate() { }
virtual ~ObjectReferenceTemplate() { }
public:
typedef ObjectReferenceTemplate_var _var_type;
static ObjectReferenceTemplate* _downcast(CORBA::ValueBase*);
static ObjectReferenceTemplate* _downcast(CORBA::AbstractBase_ptr);
virtual ServerId server_id() = 0;
virtual ORBId orb_id() = 0;
virtual AdapterName* adapter_name() = 0;
static const char* _OB_id();
virtual const char* _OB_typeId() const;
};
class OBUnique_ObjectReferenceTemplateSeq { };
typedef OB::ObjSeq< ObjectReferenceTemplate, OBUnique_ObjectReferenceTemplateSeq > ObjectReferenceTemplateSeq;
typedef OB::SeqVar< OB::ObjSeq< ObjectReferenceTemplate, OBUnique_ObjectReferenceTemplateSeq > > ObjectReferenceTemplateSeq_var;
typedef OB::SeqOut< OB::ObjSeq< ObjectReferenceTemplate, OBUnique_ObjectReferenceTemplateSeq > > ObjectReferenceTemplateSeq_out;
extern OB::TypeCodeConst _tc_ObjectReferenceTemplateSeq;
struct OBInfo_ObjectReferenceTemplateSeq : public OB::ConstructedInfo
{
OBInfo_ObjectReferenceTemplateSeq() { }
virtual void free(void* p) const
{
delete (ObjectReferenceTemplateSeq*)p;
}
virtual void* dup(const void* p) const
{
return new ObjectReferenceTemplateSeq(*(const ObjectReferenceTemplateSeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
}
namespace OBProxy_PortableInterceptor
{
}
namespace OBStubImpl_PortableInterceptor
{
}
namespace OBMarshalStubImpl_PortableInterceptor
{
}
namespace OBV_PortableInterceptor
{
}
void operator<<=(CORBA::Any&, PortableInterceptor::ObjectReferenceFactory**);
void operator<<=(CORBA::Any&, PortableInterceptor::ObjectReferenceFactory*);
CORBA::Boolean operator>>=(const CORBA::Any&, PortableInterceptor::ObjectReferenceFactory*&);
inline void
operator<<=(CORBA::Any_var& any, PortableInterceptor::ObjectReferenceFactory** val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, PortableInterceptor::ObjectReferenceFactory* val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, PortableInterceptor::ObjectReferenceFactory*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, PortableInterceptor::ObjectReferenceTemplate**);
void operator<<=(CORBA::Any&, PortableInterceptor::ObjectReferenceTemplate*);
CORBA::Boolean operator>>=(const CORBA::Any&, PortableInterceptor::ObjectReferenceTemplate*&);
inline void
operator<<=(CORBA::Any_var& any, PortableInterceptor::ObjectReferenceTemplate** val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, PortableInterceptor::ObjectReferenceTemplate* val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, PortableInterceptor::ObjectReferenceTemplate*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, PortableInterceptor::ObjectReferenceTemplateSeq*);
void operator<<=(CORBA::Any&, const PortableInterceptor::ObjectReferenceTemplateSeq&);
CORBA::Boolean operator>>=(const CORBA::Any&, const PortableInterceptor::ObjectReferenceTemplateSeq*&);
inline void
operator<<=(CORBA::Any_var& any, PortableInterceptor::ObjectReferenceTemplateSeq* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const PortableInterceptor::ObjectReferenceTemplateSeq& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const PortableInterceptor::ObjectReferenceTemplateSeq*& val)
{
return any.in() >>= val;
}
# 30 "../../include/OB/OBPOAInterface.h" 2
# 1 "../../include/OB/OBPOAInterface_fwd.h" 1
# 18 "../../include/OB/OBPOAInterface_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 19 "../../include/OB/OBPOAInterface_fwd.h" 2
# 39 "../../include/OB/OBPOAInterface_fwd.h"
namespace CORBA
{
class ORB;
typedef ORB* ORB_ptr;
typedef ORB* ORBRef;
}
namespace OBPortableServer
{
class POA;
typedef POA* POA_ptr;
typedef POA* POARef;
}
void OBDuplicate(CORBA::ORB_ptr);
void OBRelease(CORBA::ORB_ptr);
void OBMarshal(CORBA::ORB_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::ORB_ptr&, OB::InputStreamImpl*);
void OBDuplicate(OBPortableServer::POA_ptr);
void OBRelease(OBPortableServer::POA_ptr);
void OBMarshal(OBPortableServer::POA_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(OBPortableServer::POA_ptr&, OB::InputStreamImpl*);
namespace CORBA
{
typedef OB::ObjVar< ORB > ORB_var;
typedef OB::ObjOut< ORB > ORB_out;
}
namespace OBPortableServer
{
typedef OB::ObjVar< POA > POA_var;
typedef OB::ObjOut< POA > POA_out;
}
# 31 "../../include/OB/OBPOAInterface.h" 2
# 42 "../../include/OB/OBPOAInterface.h"
namespace OBStubImpl_CORBA
{
}
namespace OBStubImpl_OBPortableServer
{
}
namespace OBStubImpl_CORBA
{
}
namespace OBStubImpl_OBPortableServer
{
}
namespace CORBA
{
}
namespace OBPortableServer
{
class POA : virtual public ::PortableServer::POA
{
POA(const POA&);
void operator=(const POA&);
protected:
static const char* ids_[];
public:
POA() { }
virtual ~POA() { }
typedef POA_ptr _ptr_type;
typedef POA_var _var_type;
static inline POA_ptr
_duplicate(POA_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline POA_ptr
_nil()
{
return 0;
}
static POA_ptr _narrow(CORBA::Object_ptr);
static POA_ptr _narrow(CORBA::AbstractBase_ptr);
virtual ::CORBA::PolicyList* the_policies() = 0;
virtual ::OB::DispatchStrategy_ptr the_dispatch_strategy() = 0;
virtual ::PortableInterceptor::ObjectReferenceTemplate* adapter_template() = 0;
virtual ::PortableInterceptor::ObjectReferenceFactory* current_factory() = 0;
virtual ::CORBA::ORB_ptr the_ORB() = 0;
virtual SynchronizationPolicy_ptr create_synchronization_policy(SynchronizationPolicyValue value) = 0;
virtual DispatchStrategyPolicy_ptr create_dispatch_strategy_policy(::OB::DispatchStrategy_ptr value) = 0;
};
}
namespace OBProxy_CORBA
{
}
namespace OBProxy_OBPortableServer
{
}
namespace OBStubImpl_CORBA
{
}
namespace OBStubImpl_OBPortableServer
{
}
namespace OBMarshalStubImpl_CORBA
{
}
namespace OBMarshalStubImpl_OBPortableServer
{
}
namespace OBV_CORBA
{
}
namespace OBV_OBPortableServer
{
}
namespace CORBA
{
inline void
release(::OBPortableServer::POA_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::OBPortableServer::POA_ptr p)
{
return p == 0;
}
}
# 31 "../../include/OB/CORBA.h" 2
# 1 "../../include/OB/Bounds.h" 1
# 37 "../../include/OB/Bounds.h"
namespace CORBA
{
}
namespace CORBA
{
}
namespace OBStubImpl_CORBA
{
}
namespace OBStubImpl_CORBA
{
}
namespace CORBA
{
struct Bounds : public CORBA::UserException
{
Bounds() { }
Bounds(const Bounds&);
Bounds& operator=(const Bounds&);
static Bounds* _downcast(CORBA::Exception*);
static const Bounds* _downcast(const CORBA::Exception*);
virtual const char* _name() const;
virtual void _raise() const { throw *this; }
virtual const char* _rep_id() const;
virtual char* _to_string() const;
virtual CORBA::Exception* _OB_clone() const;
virtual void _OB_insertInAny(CORBA::Any&);
static void _OB_unmarshal(Bounds&, OB::InputStreamImpl*);
};
extern OB::TypeCodeConst _tc_Bounds;
}
namespace OBProxy_CORBA
{
}
namespace OBStubImpl_CORBA
{
}
namespace OBMarshalStubImpl_CORBA
{
}
namespace OBV_CORBA
{
}
void operator<<=(CORBA::Any&, CORBA::Bounds*);
void operator<<=(CORBA::Any&, const CORBA::Bounds&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::Bounds*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::Bounds* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::Bounds& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::Bounds*& val)
{
return any.in() >>= val;
}
# 34 "../../include/OB/CORBA.h" 2
# 1 "../../include/OB/WrongTransaction.h" 1
# 37 "../../include/OB/WrongTransaction.h"
namespace CORBA
{
}
namespace CORBA
{
}
namespace OBStubImpl_CORBA
{
}
namespace OBStubImpl_CORBA
{
}
namespace CORBA
{
struct WrongTransaction : public CORBA::UserException
{
WrongTransaction() { }
WrongTransaction(const WrongTransaction&);
WrongTransaction& operator=(const WrongTransaction&);
static WrongTransaction* _downcast(CORBA::Exception*);
static const WrongTransaction* _downcast(const CORBA::Exception*);
virtual const char* _name() const;
virtual void _raise() const { throw *this; }
virtual const char* _rep_id() const;
virtual char* _to_string() const;
virtual CORBA::Exception* _OB_clone() const;
virtual void _OB_insertInAny(CORBA::Any&);
static void _OB_unmarshal(WrongTransaction&, OB::InputStreamImpl*);
};
extern OB::TypeCodeConst _tc_WrongTransaction;
}
namespace OBProxy_CORBA
{
}
namespace OBStubImpl_CORBA
{
}
namespace OBMarshalStubImpl_CORBA
{
}
namespace OBV_CORBA
{
}
void operator<<=(CORBA::Any&, CORBA::WrongTransaction*);
void operator<<=(CORBA::Any&, const CORBA::WrongTransaction&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::WrongTransaction*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::WrongTransaction* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::WrongTransaction& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::WrongTransaction*& val)
{
return any.in() >>= val;
}
# 35 "../../include/OB/CORBA.h" 2
# 1 "../../include/OB/NamedValue.h" 1
# 14 "../../include/OB/NamedValue.h"
# 1 "../../include/OB/NamedValue_fwd.h" 1
# 15 "../../include/OB/NamedValue.h" 2
# 1 "../../include/OB/AnyDeclaration.h" 1
# 17 "../../include/OB/NamedValue.h" 2
namespace OBCORBA
{
class ORB_impl;
}
namespace CORBA
{
class NamedValue : public OB::RefCount
{
String_var name_;
mutable Any_var value_;
Flags flags_;
NamedValue(const NamedValue&);
void operator=(const NamedValue&);
protected:
NamedValue();
NamedValue(char*, Any*, Flags);
friend class ::OBCORBA::ORB_impl;
friend class NVList;
friend class Request;
public:
static inline NamedValue_ptr _duplicate(NamedValue_ptr p)
{ if(p) p -> _OB_incRef(); return p; }
static inline NamedValue_ptr _nil()
{ return 0; }
const char* name() const;
Any* value() const;
Flags flags() const;
};
inline void
release(NamedValue_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(NamedValue_ptr p)
{
return p == 0;
}
class NVList : public OB::RefCount
{
OB::ObjSeq< NamedValue, int > namedValues_;
NVList(const NVList&);
void operator=(const NVList&);
protected:
NVList() { };
NVList(ULong);
friend class Context;
friend class Request;
friend class ::OBCORBA::ORB_impl;
public:
static inline NVList_ptr _duplicate(NVList_ptr p)
{ if(p) p -> _OB_incRef(); return p; }
static inline NVList_ptr _nil()
{ return 0; }
ULong count() const;
NamedValue_ptr add(Flags);
NamedValue_ptr add_item(const char*, Flags);
NamedValue_ptr add_value(const char*, const Any&, Flags);
NamedValue_ptr add_item_consume(char*, Flags);
NamedValue_ptr add_value_consume(char*, Any*, Flags);
NamedValue_ptr item(ULong);
void remove(ULong);
};
inline void
release(NVList_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(NVList_ptr p)
{
return p == 0;
}
}
# 36 "../../include/OB/CORBA.h" 2
# 1 "../../include/OB/Environment.h" 1
# 14 "../../include/OB/Environment.h"
# 1 "../../include/OB/Environment_fwd.h" 1
# 14 "../../include/OB/Environment_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 15 "../../include/OB/Environment_fwd.h" 2
namespace CORBA
{
class Environment;
typedef Environment* Environment_ptr;
typedef Environment_ptr EnvironmentRef;
}
void OBDuplicate(CORBA::Environment_ptr);
void OBRelease(CORBA::Environment_ptr);
namespace CORBA
{
typedef OB::ObjVar< Environment > Environment_var;
typedef OB::ObjOut< Environment > Environment_out;
}
# 15 "../../include/OB/Environment.h" 2
# 1 "../../include/OB/Basic.h" 1
# 17 "../../include/OB/Environment.h" 2
# 1 "../../include/OB/Except.h" 1
# 18 "../../include/OB/Environment.h" 2
namespace OBCORBA
{
class ORB_impl;
}
namespace CORBA
{
class Environment : public OB::RefCount
{
Exception* exception_;
Environment(const Environment&);
void operator=(const Environment&);
protected:
Environment();
virtual ~Environment();
friend class ::OBCORBA::ORB_impl;
friend class Request;
public:
static inline Environment_ptr _duplicate(Environment_ptr p)
{ if(p) p -> _OB_incRef(); return p; }
static inline Environment_ptr _nil()
{ return 0; }
void exception(Exception*);
Exception* exception() const;
void clear() { exception(0); }
};
inline void
release(Environment_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(Environment_ptr p)
{
return p == 0;
}
}
# 37 "../../include/OB/CORBA.h" 2
# 1 "../../include/OB/DII.h" 1
# 14 "../../include/OB/DII.h"
# 1 "../../include/OB/DII_fwd.h" 1
# 15 "../../include/OB/DII.h" 2
# 1 "../../include/OB/Object_fwd.h" 1
# 16 "../../include/OB/DII.h" 2
# 1 "../../include/OB/OBObject_fwd.h" 1
# 17 "../../include/OB/DII.h" 2
# 1 "../../include/OB/NamedValue_fwd.h" 1
# 18 "../../include/OB/DII.h" 2
# 1 "../../include/OB/Environment_fwd.h" 1
# 19 "../../include/OB/DII.h" 2
# 1 "../../include/OB/Context_fwd.h" 1
# 20 "../../include/OB/DII.h" 2
# 1 "../../include/OB/MarshalStubImpl_fwd.h" 1
# 21 "../../include/OB/DII.h" 2
# 1 "../../include/OB/Downcall_fwd.h" 1
# 22 "../../include/OB/DII.h" 2
# 1 "../../include/OB/TypeCode_fwd.h" 1
# 23 "../../include/OB/DII.h" 2
# 1 "../../include/OB/AnyDeclaration.h" 1
# 25 "../../include/OB/DII.h" 2
# 1 "../../include/OB/list.h" 1
# 27 "../../include/OB/DII.h" 2
namespace OBCORBA
{
class ORB_impl;
}
namespace CORBA
{
class ExceptionList : public OB::RefCount
{
ExceptionList(const ExceptionList&);
void operator=(const ExceptionList&);
OB::stl::list<TypeCode_var> typeCodes_;
protected:
ExceptionList() { };
friend class ::OBCORBA::ORB_impl;
friend class Request;
public:
static inline ExceptionList_ptr _duplicate(ExceptionList_ptr p)
{ if(p) p -> _OB_incRef(); return p; }
static inline ExceptionList_ptr _nil()
{ return 0; }
ULong count() const;
void add(TypeCode_ptr);
void add_consume(TypeCode_ptr);
TypeCode_ptr item(ULong);
void remove(ULong);
};
inline void
release(ExceptionList_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(ExceptionList_ptr p)
{
return p == 0;
}
class ContextList : public OB::RefCount
{
ContextList(const ContextList&);
void operator=(const ContextList&);
OB::stl::list<String_var> strings_;
protected:
ContextList() { };
friend class ::OBCORBA::ORB_impl;
friend class Request;
public:
static inline ContextList_ptr _duplicate(ContextList_ptr p)
{ if(p) p -> _OB_incRef(); return p; }
static inline ContextList_ptr _nil()
{ return 0; }
ULong count() const;
void add(const char*);
void add_consume(char*);
const char* item(ULong);
void remove(ULong);
};
inline void
release(ContextList_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(ContextList_ptr p)
{
return p == 0;
}
class Request : public OB::RefCount
{
Request(const Request&);
void operator=(const Request&);
OBCORBA::Object_var target_;
String_var operation_;
NVList_var arguments_;
NamedValue_var result_;
Environment_var environment_;
ExceptionList_var exceptions_;
ContextList_var contexts_;
Context_var ctx_;
OB::MarshalStubImpl_var marshalStub_;
OB::Downcall_var downcall_;
enum RequestState
{
RequestStateUnsent,
RequestStatePending,
RequestStateSent,
RequestStateReceiving,
RequestStateReceived,
RequestStateDone
};
RequestState state_;
bool pollable_;
bool polling_;
JTCMonitor stateMutex_;
void marshal();
void unmarshal();
protected:
Request(OBCORBA::Object_ptr, const char*, NVList_ptr,
NamedValue_ptr, ExceptionList_ptr,
ContextList_ptr);
Request(OBCORBA::Object_ptr, const char*, NVList_ptr,
NamedValue_ptr);
Request(OBCORBA::Object_ptr, const char*);
virtual ~Request();
friend class ::OBCORBA::Object;
public:
static inline Request_ptr _duplicate(Request_ptr p)
{ if(p) p -> _OB_incRef(); return p; }
static inline Request_ptr _nil()
{ return 0; }
CORBA::Object_ptr target() const;
const char* operation() const;
NVList_ptr arguments();
NamedValue_ptr result();
Environment_ptr env();
ExceptionList_ptr exceptions();
ContextList_ptr contexts();
void ctx(Context_ptr);
Context_ptr ctx() const;
Any& add_in_arg();
Any& add_in_arg(const char*);
Any& add_inout_arg();
Any& add_inout_arg(const char*);
Any& add_out_arg();
Any& add_out_arg(const char*);
void set_return_type(TypeCode_ptr);
Any& return_value();
void invoke();
void send_oneway();
void send_deferred();
void get_response();
Boolean poll_response();
bool _OB_completed() const;
};
inline void
release(Request_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(Request_ptr p)
{
return p == 0;
}
}
# 38 "../../include/OB/CORBA.h" 2
# 1 "../../include/OB/DSI.h" 1
# 14 "../../include/OB/DSI.h"
# 1 "../../include/OB/DSI_fwd.h" 1
# 14 "../../include/OB/DSI_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 15 "../../include/OB/DSI_fwd.h" 2
namespace CORBA
{
class ServerRequest;
typedef ServerRequest* ServerRequest_ptr;
typedef ServerRequest_ptr ServerRequestRef;
}
void OBDuplicate(CORBA::ServerRequest_ptr);
void OBRelease(CORBA::ServerRequest_ptr);
namespace CORBA
{
typedef OB::ObjVar< ServerRequest > ServerRequest_var;
}
# 15 "../../include/OB/DSI.h" 2
# 1 "../../include/OB/Upcall_fwd.h" 1
# 16 "../../include/OB/DSI.h" 2
# 1 "../../include/OB/NamedValue_fwd.h" 1
# 17 "../../include/OB/DSI.h" 2
# 1 "../../include/OB/Context_fwd.h" 1
# 18 "../../include/OB/DSI.h" 2
# 1 "../../include/OB/Stream_fwd.h" 1
# 19 "../../include/OB/DSI.h" 2
# 1 "../../include/OB/Any.h" 1
# 21 "../../include/OB/DSI.h" 2
# 1 "../../include/OB/TypeCodeConst.h" 1
# 22 "../../include/OB/DSI.h" 2
# 1 "../../include/OB/Types.h" 1
# 23 "../../include/OB/DSI.h" 2
# 1 "../../include/OB/POAServantBase.h" 1
# 24 "../../include/OB/DSI.h" 2
namespace PortableServer
{
class DynamicImplementation;
}
namespace CORBA
{
class ServerRequest : public OB::RefCount
{
PortableServer::DynamicImplementation* dynImpl_;
OB::Upcall_var up_;
OB::InputStreamImpl* in_;
CORBA::NVList_ptr arguments_;
CORBA::Context_var ctx_;
CORBA::Any* result_;
CORBA::Any* exception_;
ServerRequest(PortableServer::DynamicImplementation*, OB::Upcall_ptr);
friend class ::PortableServer::DynamicImplementation;
public:
virtual ~ServerRequest();
static inline ServerRequest_ptr _duplicate(ServerRequest_ptr p)
{ if(p) p -> _OB_incRef(); return p; }
static inline ServerRequest_ptr _nil()
{ return 0; }
virtual const char* operation() const;
virtual void arguments(NVList_ptr&);
virtual Context_ptr ctx();
virtual void set_result(const Any&);
virtual void set_exception(const Any&);
virtual void _OB_finishUnmarshal();
virtual void _OB_doMarshal();
};
inline void
release(ServerRequest_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(ServerRequest_ptr p)
{
return p == 0;
}
}
namespace PortableServer
{
class DynamicImplementation : public virtual ServantBase
{
DynamicImplementation(const DynamicImplementation&);
void operator=(const DynamicImplementation&);
protected:
DynamicImplementation() { }
public:
CORBA::Object_ptr _this();
virtual void invoke(CORBA::ServerRequest_ptr request) = 0;
virtual CORBA::RepositoryId
_primary_interface(const ObjectId&, POA_ptr) = 0;
virtual CORBA::Boolean _is_a(const char* logical_type_id)
throw(CORBA::SystemException);
virtual void _OB_dispatch(OB::Upcall_ptr);
};
}
# 39 "../../include/OB/CORBA.h" 2
# 1 "../../include/OB/DynamicAny.h" 1
# 27 "../../include/OB/DynamicAny.h"
# 1 "../../include/OB/TCKind.h" 1
# 28 "../../include/OB/DynamicAny.h" 2
# 1 "../../include/OB/Native.h" 1
# 29 "../../include/OB/DynamicAny.h" 2
# 1 "../../include/OB/DynamicAny_fwd.h" 1
# 18 "../../include/OB/DynamicAny_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 19 "../../include/OB/DynamicAny_fwd.h" 2
# 39 "../../include/OB/DynamicAny_fwd.h"
namespace DynamicAny
{
class DynAny;
typedef DynAny* DynAny_ptr;
typedef DynAny* DynAnyRef;
class DynFixed;
typedef DynFixed* DynFixed_ptr;
typedef DynFixed* DynFixedRef;
class DynEnum;
typedef DynEnum* DynEnum_ptr;
typedef DynEnum* DynEnumRef;
class DynStruct;
typedef DynStruct* DynStruct_ptr;
typedef DynStruct* DynStructRef;
class DynUnion;
typedef DynUnion* DynUnion_ptr;
typedef DynUnion* DynUnionRef;
class DynSequence;
typedef DynSequence* DynSequence_ptr;
typedef DynSequence* DynSequenceRef;
class DynArray;
typedef DynArray* DynArray_ptr;
typedef DynArray* DynArrayRef;
class DynValueCommon;
typedef DynValueCommon* DynValueCommon_ptr;
typedef DynValueCommon* DynValueCommonRef;
class DynValue;
typedef DynValue* DynValue_ptr;
typedef DynValue* DynValueRef;
class DynValueBox;
typedef DynValueBox* DynValueBox_ptr;
typedef DynValueBox* DynValueBoxRef;
class DynAnyFactory;
typedef DynAnyFactory* DynAnyFactory_ptr;
typedef DynAnyFactory* DynAnyFactoryRef;
}
void OBDuplicate(DynamicAny::DynAny_ptr);
void OBRelease(DynamicAny::DynAny_ptr);
void OBMarshal(DynamicAny::DynAny_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(DynamicAny::DynAny_ptr&, OB::InputStreamImpl*);
void OBDuplicate(DynamicAny::DynFixed_ptr);
void OBRelease(DynamicAny::DynFixed_ptr);
void OBMarshal(DynamicAny::DynFixed_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(DynamicAny::DynFixed_ptr&, OB::InputStreamImpl*);
void OBDuplicate(DynamicAny::DynEnum_ptr);
void OBRelease(DynamicAny::DynEnum_ptr);
void OBMarshal(DynamicAny::DynEnum_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(DynamicAny::DynEnum_ptr&, OB::InputStreamImpl*);
void OBDuplicate(DynamicAny::DynStruct_ptr);
void OBRelease(DynamicAny::DynStruct_ptr);
void OBMarshal(DynamicAny::DynStruct_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(DynamicAny::DynStruct_ptr&, OB::InputStreamImpl*);
void OBDuplicate(DynamicAny::DynUnion_ptr);
void OBRelease(DynamicAny::DynUnion_ptr);
void OBMarshal(DynamicAny::DynUnion_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(DynamicAny::DynUnion_ptr&, OB::InputStreamImpl*);
void OBDuplicate(DynamicAny::DynSequence_ptr);
void OBRelease(DynamicAny::DynSequence_ptr);
void OBMarshal(DynamicAny::DynSequence_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(DynamicAny::DynSequence_ptr&, OB::InputStreamImpl*);
void OBDuplicate(DynamicAny::DynArray_ptr);
void OBRelease(DynamicAny::DynArray_ptr);
void OBMarshal(DynamicAny::DynArray_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(DynamicAny::DynArray_ptr&, OB::InputStreamImpl*);
void OBDuplicate(DynamicAny::DynValueCommon_ptr);
void OBRelease(DynamicAny::DynValueCommon_ptr);
void OBMarshal(DynamicAny::DynValueCommon_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(DynamicAny::DynValueCommon_ptr&, OB::InputStreamImpl*);
void OBDuplicate(DynamicAny::DynValue_ptr);
void OBRelease(DynamicAny::DynValue_ptr);
void OBMarshal(DynamicAny::DynValue_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(DynamicAny::DynValue_ptr&, OB::InputStreamImpl*);
void OBDuplicate(DynamicAny::DynValueBox_ptr);
void OBRelease(DynamicAny::DynValueBox_ptr);
void OBMarshal(DynamicAny::DynValueBox_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(DynamicAny::DynValueBox_ptr&, OB::InputStreamImpl*);
void OBDuplicate(DynamicAny::DynAnyFactory_ptr);
void OBRelease(DynamicAny::DynAnyFactory_ptr);
void OBMarshal(DynamicAny::DynAnyFactory_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(DynamicAny::DynAnyFactory_ptr&, OB::InputStreamImpl*);
namespace DynamicAny
{
typedef OB::ObjVar< DynAny > DynAny_var;
typedef OB::ObjOut< DynAny > DynAny_out;
typedef OB::ObjVar< DynFixed > DynFixed_var;
typedef OB::ObjOut< DynFixed > DynFixed_out;
typedef OB::ObjVar< DynEnum > DynEnum_var;
typedef OB::ObjOut< DynEnum > DynEnum_out;
typedef OB::ObjVar< DynStruct > DynStruct_var;
typedef OB::ObjOut< DynStruct > DynStruct_out;
typedef OB::ObjVar< DynUnion > DynUnion_var;
typedef OB::ObjOut< DynUnion > DynUnion_out;
typedef OB::ObjVar< DynSequence > DynSequence_var;
typedef OB::ObjOut< DynSequence > DynSequence_out;
typedef OB::ObjVar< DynArray > DynArray_var;
typedef OB::ObjOut< DynArray > DynArray_out;
typedef OB::ObjVar< DynValueCommon > DynValueCommon_var;
typedef OB::ObjOut< DynValueCommon > DynValueCommon_out;
typedef OB::ObjVar< DynValue > DynValue_var;
typedef OB::ObjOut< DynValue > DynValue_out;
typedef OB::ObjVar< DynValueBox > DynValueBox_var;
typedef OB::ObjOut< DynValueBox > DynValueBox_out;
typedef OB::ObjVar< DynAnyFactory > DynAnyFactory_var;
typedef OB::ObjOut< DynAnyFactory > DynAnyFactory_out;
}
# 30 "../../include/OB/DynamicAny.h" 2
# 41 "../../include/OB/DynamicAny.h"
namespace OBStubImpl_DynamicAny
{
}
namespace OBStubImpl_DynamicAny
{
}
namespace DynamicAny
{
class DynAny : virtual public CORBA::Object
{
DynAny(const DynAny&);
void operator=(const DynAny&);
protected:
static const char* ids_[];
public:
DynAny() { }
virtual ~DynAny() { }
typedef DynAny_ptr _ptr_type;
typedef DynAny_var _var_type;
static inline DynAny_ptr
_duplicate(DynAny_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline DynAny_ptr
_nil()
{
return 0;
}
static DynAny_ptr _narrow(CORBA::Object_ptr);
static DynAny_ptr _narrow(CORBA::AbstractBase_ptr);
struct InvalidValue : public CORBA::UserException
{
InvalidValue() { }
InvalidValue(const InvalidValue&);
InvalidValue& operator=(const InvalidValue&);
static InvalidValue* _downcast(CORBA::Exception*);
static const InvalidValue* _downcast(const CORBA::Exception*);
virtual const char* _name() const;
virtual void _raise() const { throw *this; }
virtual const char* _rep_id() const;
virtual char* _to_string() const;
virtual CORBA::Exception* _OB_clone() const;
virtual void _OB_insertInAny(CORBA::Any&);
static void _OB_unmarshal(InvalidValue&, OB::InputStreamImpl*);
};
struct TypeMismatch : public CORBA::UserException
{
TypeMismatch() { }
TypeMismatch(const TypeMismatch&);
TypeMismatch& operator=(const TypeMismatch&);
static TypeMismatch* _downcast(CORBA::Exception*);
static const TypeMismatch* _downcast(const CORBA::Exception*);
virtual const char* _name() const;
virtual void _raise() const { throw *this; }
virtual const char* _rep_id() const;
virtual char* _to_string() const;
virtual CORBA::Exception* _OB_clone() const;
virtual void _OB_insertInAny(CORBA::Any&);
static void _OB_unmarshal(TypeMismatch&, OB::InputStreamImpl*);
};
virtual CORBA::TypeCode_ptr type() = 0;
virtual void assign(DynAny_ptr dyn_any) = 0;
virtual void from_any(const CORBA::Any& value) = 0;
virtual CORBA::Any* to_any() = 0;
virtual CORBA::Boolean equal(DynAny_ptr dyn_any) = 0;
virtual void destroy() = 0;
virtual DynAny_ptr copy() = 0;
virtual void insert_boolean(CORBA::Boolean value) = 0;
virtual void insert_octet(CORBA::Octet value) = 0;
virtual void insert_char(CORBA::Char value) = 0;
virtual void insert_short(CORBA::Short value) = 0;
virtual void insert_ushort(CORBA::UShort value) = 0;
virtual void insert_long(CORBA::Long value) = 0;
virtual void insert_ulong(CORBA::ULong value) = 0;
virtual void insert_float(CORBA::Float value) = 0;
virtual void insert_double(CORBA::Double value) = 0;
virtual void insert_string(const char* value) = 0;
virtual void insert_reference(CORBA::Object_ptr value) = 0;
virtual void insert_typecode(CORBA::TypeCode_ptr value) = 0;
virtual void insert_longlong(CORBA::LongLong value) = 0;
virtual void insert_ulonglong(CORBA::ULongLong value) = 0;
virtual void insert_longdouble(CORBA::LongDouble value) = 0;
virtual void insert_wchar(CORBA::WChar value) = 0;
virtual void insert_wstring(const CORBA::WChar* value) = 0;
virtual void insert_any(const CORBA::Any& value) = 0;
virtual void insert_dyn_any(DynAny_ptr value) = 0;
virtual void insert_val(CORBA::ValueBase* value) = 0;
virtual void insert_abstract(::CORBA::AbstractBase_ptr value) = 0;
virtual CORBA::Boolean get_boolean() = 0;
virtual CORBA::Octet get_octet() = 0;
virtual CORBA::Char get_char() = 0;
virtual CORBA::Short get_short() = 0;
virtual CORBA::UShort get_ushort() = 0;
virtual CORBA::Long get_long() = 0;
virtual CORBA::ULong get_ulong() = 0;
virtual CORBA::Float get_float() = 0;
virtual CORBA::Double get_double() = 0;
virtual char* get_string() = 0;
virtual CORBA::Object_ptr get_reference() = 0;
virtual CORBA::TypeCode_ptr get_typecode() = 0;
virtual CORBA::LongLong get_longlong() = 0;
virtual CORBA::ULongLong get_ulonglong() = 0;
virtual CORBA::LongDouble get_longdouble() = 0;
virtual CORBA::WChar get_wchar() = 0;
virtual CORBA::WChar* get_wstring() = 0;
virtual CORBA::Any* get_any() = 0;
virtual DynAny_ptr get_dyn_any() = 0;
virtual CORBA::ValueBase* get_val() = 0;
virtual ::CORBA::AbstractBase_ptr get_abstract() = 0;
virtual CORBA::Boolean seek(CORBA::Long index) = 0;
virtual void rewind() = 0;
virtual CORBA::Boolean next() = 0;
virtual CORBA::ULong component_count() = 0;
virtual DynAny_ptr current_component() = 0;
};
class DynFixed : virtual public ::DynamicAny::DynAny
{
DynFixed(const DynFixed&);
void operator=(const DynFixed&);
protected:
static const char* ids_[];
public:
DynFixed() { }
virtual ~DynFixed() { }
typedef DynFixed_ptr _ptr_type;
typedef DynFixed_var _var_type;
static inline DynFixed_ptr
_duplicate(DynFixed_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline DynFixed_ptr
_nil()
{
return 0;
}
static DynFixed_ptr _narrow(CORBA::Object_ptr);
static DynFixed_ptr _narrow(CORBA::AbstractBase_ptr);
virtual char* get_value() = 0;
virtual CORBA::Boolean set_value(const char* val) = 0;
};
class DynEnum : virtual public ::DynamicAny::DynAny
{
DynEnum(const DynEnum&);
void operator=(const DynEnum&);
protected:
static const char* ids_[];
public:
DynEnum() { }
virtual ~DynEnum() { }
typedef DynEnum_ptr _ptr_type;
typedef DynEnum_var _var_type;
static inline DynEnum_ptr
_duplicate(DynEnum_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline DynEnum_ptr
_nil()
{
return 0;
}
static DynEnum_ptr _narrow(CORBA::Object_ptr);
static DynEnum_ptr _narrow(CORBA::AbstractBase_ptr);
virtual char* get_as_string() = 0;
virtual void set_as_string(const char* value) = 0;
virtual CORBA::ULong get_as_ulong() = 0;
virtual void set_as_ulong(CORBA::ULong value) = 0;
};
typedef char* FieldName;
typedef CORBA::String_var FieldName_var;
typedef CORBA::String_out FieldName_out;
struct NameValuePair;
typedef OB::VarVar< NameValuePair > NameValuePair_var;
typedef OB::VarOut< NameValuePair > NameValuePair_out;
struct NameValuePair
{
NameValuePair() { }
NameValuePair(const NameValuePair&);
NameValuePair& operator=(const NameValuePair&);
typedef NameValuePair_var _var_type;
OB::StrForStruct id;
CORBA::Any value;
void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(NameValuePair&, OB::InputStreamImpl*);
};
class OBUnique_NameValuePairSeq { };
typedef OB::VarSeq< NameValuePair, OBUnique_NameValuePairSeq > NameValuePairSeq;
typedef OB::SeqVar< OB::VarSeq< NameValuePair, OBUnique_NameValuePairSeq > > NameValuePairSeq_var;
typedef OB::SeqOut< OB::VarSeq< NameValuePair, OBUnique_NameValuePairSeq > > NameValuePairSeq_out;
struct NameDynAnyPair;
typedef OB::VarVar< NameDynAnyPair > NameDynAnyPair_var;
typedef OB::VarOut< NameDynAnyPair > NameDynAnyPair_out;
struct NameDynAnyPair
{
NameDynAnyPair() { }
NameDynAnyPair(const NameDynAnyPair&);
NameDynAnyPair& operator=(const NameDynAnyPair&);
typedef NameDynAnyPair_var _var_type;
OB::StrForStruct id;
DynAny_var value;
void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(NameDynAnyPair&, OB::InputStreamImpl*);
};
class OBUnique_NameDynAnyPairSeq { };
typedef OB::VarSeq< NameDynAnyPair, OBUnique_NameDynAnyPairSeq > NameDynAnyPairSeq;
typedef OB::SeqVar< OB::VarSeq< NameDynAnyPair, OBUnique_NameDynAnyPairSeq > > NameDynAnyPairSeq_var;
typedef OB::SeqOut< OB::VarSeq< NameDynAnyPair, OBUnique_NameDynAnyPairSeq > > NameDynAnyPairSeq_out;
class DynStruct : virtual public ::DynamicAny::DynAny
{
DynStruct(const DynStruct&);
void operator=(const DynStruct&);
protected:
static const char* ids_[];
public:
DynStruct() { }
virtual ~DynStruct() { }
typedef DynStruct_ptr _ptr_type;
typedef DynStruct_var _var_type;
static inline DynStruct_ptr
_duplicate(DynStruct_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline DynStruct_ptr
_nil()
{
return 0;
}
static DynStruct_ptr _narrow(CORBA::Object_ptr);
static DynStruct_ptr _narrow(CORBA::AbstractBase_ptr);
virtual FieldName current_member_name() = 0;
virtual ::CORBA::TCKind current_member_kind() = 0;
virtual NameValuePairSeq* get_members() = 0;
virtual void set_members(const NameValuePairSeq& value) = 0;
virtual NameDynAnyPairSeq* get_members_as_dyn_any() = 0;
virtual void set_members_as_dyn_any(const NameDynAnyPairSeq& value) = 0;
};
class DynUnion : virtual public ::DynamicAny::DynAny
{
DynUnion(const DynUnion&);
void operator=(const DynUnion&);
protected:
static const char* ids_[];
public:
DynUnion() { }
virtual ~DynUnion() { }
typedef DynUnion_ptr _ptr_type;
typedef DynUnion_var _var_type;
static inline DynUnion_ptr
_duplicate(DynUnion_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline DynUnion_ptr
_nil()
{
return 0;
}
static DynUnion_ptr _narrow(CORBA::Object_ptr);
static DynUnion_ptr _narrow(CORBA::AbstractBase_ptr);
virtual DynAny_ptr get_discriminator() = 0;
virtual void set_discriminator(DynAny_ptr d) = 0;
virtual void set_to_default_member() = 0;
virtual void set_to_no_active_member() = 0;
virtual CORBA::Boolean has_no_active_member() = 0;
virtual ::CORBA::TCKind discriminator_kind() = 0;
virtual DynAny_ptr member() = 0;
virtual FieldName member_name() = 0;
virtual ::CORBA::TCKind member_kind() = 0;
virtual CORBA::Boolean is_set_to_default_member() = 0;
};
class OBUnique_AnySeq { };
typedef OB::VarSeq< CORBA::Any, OBUnique_AnySeq > AnySeq;
typedef OB::SeqVar< OB::VarSeq< CORBA::Any, OBUnique_AnySeq > > AnySeq_var;
typedef OB::SeqOut< OB::VarSeq< CORBA::Any, OBUnique_AnySeq > > AnySeq_out;
class OBUnique_DynAnySeq { };
typedef OB::ObjSeq< DynAny, OBUnique_DynAnySeq > DynAnySeq;
typedef OB::SeqVar< OB::ObjSeq< DynAny, OBUnique_DynAnySeq > > DynAnySeq_var;
typedef OB::SeqOut< OB::ObjSeq< DynAny, OBUnique_DynAnySeq > > DynAnySeq_out;
class DynSequence : virtual public ::DynamicAny::DynAny
{
DynSequence(const DynSequence&);
void operator=(const DynSequence&);
protected:
static const char* ids_[];
public:
DynSequence() { }
virtual ~DynSequence() { }
typedef DynSequence_ptr _ptr_type;
typedef DynSequence_var _var_type;
static inline DynSequence_ptr
_duplicate(DynSequence_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline DynSequence_ptr
_nil()
{
return 0;
}
static DynSequence_ptr _narrow(CORBA::Object_ptr);
static DynSequence_ptr _narrow(CORBA::AbstractBase_ptr);
virtual CORBA::ULong get_length() = 0;
virtual void set_length(CORBA::ULong len) = 0;
virtual AnySeq* get_elements() = 0;
virtual void set_elements(const AnySeq& value) = 0;
virtual DynAnySeq* get_elements_as_dyn_any() = 0;
virtual void set_elements_as_dyn_any(const DynAnySeq& value) = 0;
};
class DynArray : virtual public ::DynamicAny::DynAny
{
DynArray(const DynArray&);
void operator=(const DynArray&);
protected:
static const char* ids_[];
public:
DynArray() { }
virtual ~DynArray() { }
typedef DynArray_ptr _ptr_type;
typedef DynArray_var _var_type;
static inline DynArray_ptr
_duplicate(DynArray_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline DynArray_ptr
_nil()
{
return 0;
}
static DynArray_ptr _narrow(CORBA::Object_ptr);
static DynArray_ptr _narrow(CORBA::AbstractBase_ptr);
virtual AnySeq* get_elements() = 0;
virtual void set_elements(const AnySeq& value) = 0;
virtual DynAnySeq* get_elements_as_dyn_any() = 0;
virtual void set_elements_as_dyn_any(const DynAnySeq& value) = 0;
};
class DynValueCommon : virtual public ::DynamicAny::DynAny
{
DynValueCommon(const DynValueCommon&);
void operator=(const DynValueCommon&);
protected:
static const char* ids_[];
public:
DynValueCommon() { }
virtual ~DynValueCommon() { }
typedef DynValueCommon_ptr _ptr_type;
typedef DynValueCommon_var _var_type;
static inline DynValueCommon_ptr
_duplicate(DynValueCommon_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline DynValueCommon_ptr
_nil()
{
return 0;
}
static DynValueCommon_ptr _narrow(CORBA::Object_ptr);
static DynValueCommon_ptr _narrow(CORBA::AbstractBase_ptr);
virtual CORBA::Boolean is_null() = 0;
virtual void set_to_null() = 0;
virtual void set_to_value() = 0;
};
class DynValue : virtual public ::DynamicAny::DynValueCommon
{
DynValue(const DynValue&);
void operator=(const DynValue&);
protected:
static const char* ids_[];
public:
DynValue() { }
virtual ~DynValue() { }
typedef DynValue_ptr _ptr_type;
typedef DynValue_var _var_type;
static inline DynValue_ptr
_duplicate(DynValue_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline DynValue_ptr
_nil()
{
return 0;
}
static DynValue_ptr _narrow(CORBA::Object_ptr);
static DynValue_ptr _narrow(CORBA::AbstractBase_ptr);
virtual FieldName current_member_name() = 0;
virtual ::CORBA::TCKind current_member_kind() = 0;
virtual NameValuePairSeq* get_members() = 0;
virtual void set_members(const NameValuePairSeq& value) = 0;
virtual NameDynAnyPairSeq* get_members_as_dyn_any() = 0;
virtual void set_members_as_dyn_any(const NameDynAnyPairSeq& value) = 0;
};
class DynValueBox : virtual public ::DynamicAny::DynValueCommon
{
DynValueBox(const DynValueBox&);
void operator=(const DynValueBox&);
protected:
static const char* ids_[];
public:
DynValueBox() { }
virtual ~DynValueBox() { }
typedef DynValueBox_ptr _ptr_type;
typedef DynValueBox_var _var_type;
static inline DynValueBox_ptr
_duplicate(DynValueBox_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline DynValueBox_ptr
_nil()
{
return 0;
}
static DynValueBox_ptr _narrow(CORBA::Object_ptr);
static DynValueBox_ptr _narrow(CORBA::AbstractBase_ptr);
virtual CORBA::Any* get_boxed_value() = 0;
virtual void set_boxed_value(const CORBA::Any& boxed) = 0;
virtual DynAny_ptr get_boxed_value_as_dyn_any() = 0;
virtual void set_boxed_value_as_dyn_any(DynAny_ptr boxed) = 0;
};
class DynAnyFactory : virtual public CORBA::Object
{
DynAnyFactory(const DynAnyFactory&);
void operator=(const DynAnyFactory&);
protected:
static const char* ids_[];
public:
DynAnyFactory() { }
virtual ~DynAnyFactory() { }
typedef DynAnyFactory_ptr _ptr_type;
typedef DynAnyFactory_var _var_type;
static inline DynAnyFactory_ptr
_duplicate(DynAnyFactory_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline DynAnyFactory_ptr
_nil()
{
return 0;
}
static DynAnyFactory_ptr _narrow(CORBA::Object_ptr);
static DynAnyFactory_ptr _narrow(CORBA::AbstractBase_ptr);
struct InconsistentTypeCode : public CORBA::UserException
{
InconsistentTypeCode() { }
InconsistentTypeCode(const InconsistentTypeCode&);
InconsistentTypeCode& operator=(const InconsistentTypeCode&);
static InconsistentTypeCode* _downcast(CORBA::Exception*);
static const InconsistentTypeCode* _downcast(const CORBA::Exception*);
virtual const char* _name() const;
virtual void _raise() const { throw *this; }
virtual const char* _rep_id() const;
virtual char* _to_string() const;
virtual CORBA::Exception* _OB_clone() const;
virtual void _OB_insertInAny(CORBA::Any&);
static void _OB_unmarshal(InconsistentTypeCode&, OB::InputStreamImpl*);
};
virtual DynAny_ptr create_dyn_any(const CORBA::Any& value) = 0;
virtual DynAny_ptr create_dyn_any_from_type_code(CORBA::TypeCode_ptr type) = 0;
};
}
namespace OBProxy_DynamicAny
{
}
namespace OBStubImpl_DynamicAny
{
}
namespace OBMarshalStubImpl_DynamicAny
{
}
namespace OBV_DynamicAny
{
}
namespace CORBA
{
inline void
release(::DynamicAny::DynAny_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::DynamicAny::DynAny_ptr p)
{
return p == 0;
}
}
namespace CORBA
{
inline void
release(::DynamicAny::DynFixed_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::DynamicAny::DynFixed_ptr p)
{
return p == 0;
}
}
namespace CORBA
{
inline void
release(::DynamicAny::DynEnum_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::DynamicAny::DynEnum_ptr p)
{
return p == 0;
}
}
namespace CORBA
{
inline void
release(::DynamicAny::DynStruct_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::DynamicAny::DynStruct_ptr p)
{
return p == 0;
}
}
namespace CORBA
{
inline void
release(::DynamicAny::DynUnion_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::DynamicAny::DynUnion_ptr p)
{
return p == 0;
}
}
namespace CORBA
{
inline void
release(::DynamicAny::DynSequence_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::DynamicAny::DynSequence_ptr p)
{
return p == 0;
}
}
namespace CORBA
{
inline void
release(::DynamicAny::DynArray_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::DynamicAny::DynArray_ptr p)
{
return p == 0;
}
}
namespace CORBA
{
inline void
release(::DynamicAny::DynValueCommon_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::DynamicAny::DynValueCommon_ptr p)
{
return p == 0;
}
}
namespace CORBA
{
inline void
release(::DynamicAny::DynValue_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::DynamicAny::DynValue_ptr p)
{
return p == 0;
}
}
namespace CORBA
{
inline void
release(::DynamicAny::DynValueBox_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::DynamicAny::DynValueBox_ptr p)
{
return p == 0;
}
}
namespace CORBA
{
inline void
release(::DynamicAny::DynAnyFactory_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::DynamicAny::DynAnyFactory_ptr p)
{
return p == 0;
}
}
# 42 "../../include/OB/CORBA.h" 2
# 51 "../../include/OB/CORBA.h"
# 1 "../../include/OB/LocalObject.h" 1
# 52 "../../include/OB/CORBA.h" 2
# 12 "GenCPPSkelH.cpp" 2
# 1 "../../include/OB/IFR.h" 1
# 27 "../../include/OB/IFR.h"
# 1 "../../include/OB/IFR1.h" 1
# 28 "../../include/OB/IFR.h" 2
# 1 "../../include/OB/IFR2.h" 1
# 27 "../../include/OB/IFR2.h"
# 1 "../../include/OB/IFR1.h" 1
# 28 "../../include/OB/IFR2.h" 2
# 1 "../../include/OB/IFR2_fwd.h" 1
# 29 "../../include/OB/IFR2.h" 2
# 40 "../../include/OB/IFR2.h"
namespace OBStubImpl_CORBA
{
class Repository;
typedef Repository* Repository_ptr;
class Contained;
typedef Contained* Contained_ptr;
class ModuleDef;
typedef ModuleDef* ModuleDef_ptr;
class ConstantDef;
typedef ConstantDef* ConstantDef_ptr;
class StructDef;
typedef StructDef* StructDef_ptr;
class UnionDef;
typedef UnionDef* UnionDef_ptr;
class EnumDef;
typedef EnumDef* EnumDef_ptr;
class AliasDef;
typedef AliasDef* AliasDef_ptr;
class AbstractInterfaceDef;
typedef AbstractInterfaceDef* AbstractInterfaceDef_ptr;
class LocalInterfaceDef;
typedef LocalInterfaceDef* LocalInterfaceDef_ptr;
class NativeDef;
typedef NativeDef* NativeDef_ptr;
class ValueDef;
typedef ValueDef* ValueDef_ptr;
class ValueBoxDef;
typedef ValueBoxDef* ValueBoxDef_ptr;
class Container;
typedef Container* Container_ptr;
class AttributeDef;
typedef AttributeDef* AttributeDef_ptr;
class ExceptionDef;
typedef ExceptionDef* ExceptionDef_ptr;
class OperationDef;
typedef OperationDef* OperationDef_ptr;
class InterfaceDef;
typedef InterfaceDef* InterfaceDef_ptr;
}
void OBDuplicate(OBStubImpl_CORBA::Repository_ptr);
void OBRelease(OBStubImpl_CORBA::Repository_ptr);
void OBDuplicate(OBStubImpl_CORBA::Contained_ptr);
void OBRelease(OBStubImpl_CORBA::Contained_ptr);
void OBDuplicate(OBStubImpl_CORBA::ModuleDef_ptr);
void OBRelease(OBStubImpl_CORBA::ModuleDef_ptr);
void OBDuplicate(OBStubImpl_CORBA::ConstantDef_ptr);
void OBRelease(OBStubImpl_CORBA::ConstantDef_ptr);
void OBDuplicate(OBStubImpl_CORBA::StructDef_ptr);
void OBRelease(OBStubImpl_CORBA::StructDef_ptr);
void OBDuplicate(OBStubImpl_CORBA::UnionDef_ptr);
void OBRelease(OBStubImpl_CORBA::UnionDef_ptr);
void OBDuplicate(OBStubImpl_CORBA::EnumDef_ptr);
void OBRelease(OBStubImpl_CORBA::EnumDef_ptr);
void OBDuplicate(OBStubImpl_CORBA::AliasDef_ptr);
void OBRelease(OBStubImpl_CORBA::AliasDef_ptr);
void OBDuplicate(OBStubImpl_CORBA::AbstractInterfaceDef_ptr);
void OBRelease(OBStubImpl_CORBA::AbstractInterfaceDef_ptr);
void OBDuplicate(OBStubImpl_CORBA::LocalInterfaceDef_ptr);
void OBRelease(OBStubImpl_CORBA::LocalInterfaceDef_ptr);
void OBDuplicate(OBStubImpl_CORBA::NativeDef_ptr);
void OBRelease(OBStubImpl_CORBA::NativeDef_ptr);
void OBDuplicate(OBStubImpl_CORBA::ValueDef_ptr);
void OBRelease(OBStubImpl_CORBA::ValueDef_ptr);
void OBDuplicate(OBStubImpl_CORBA::ValueBoxDef_ptr);
void OBRelease(OBStubImpl_CORBA::ValueBoxDef_ptr);
void OBDuplicate(OBStubImpl_CORBA::Container_ptr);
void OBRelease(OBStubImpl_CORBA::Container_ptr);
void OBDuplicate(OBStubImpl_CORBA::AttributeDef_ptr);
void OBRelease(OBStubImpl_CORBA::AttributeDef_ptr);
void OBDuplicate(OBStubImpl_CORBA::ExceptionDef_ptr);
void OBRelease(OBStubImpl_CORBA::ExceptionDef_ptr);
void OBDuplicate(OBStubImpl_CORBA::OperationDef_ptr);
void OBRelease(OBStubImpl_CORBA::OperationDef_ptr);
void OBDuplicate(OBStubImpl_CORBA::InterfaceDef_ptr);
void OBRelease(OBStubImpl_CORBA::InterfaceDef_ptr);
namespace OBStubImpl_CORBA
{
typedef OB::ObjVar< Repository > Repository_var;
typedef OB::ObjVar< Contained > Contained_var;
typedef OB::ObjVar< ModuleDef > ModuleDef_var;
typedef OB::ObjVar< ConstantDef > ConstantDef_var;
typedef OB::ObjVar< StructDef > StructDef_var;
typedef OB::ObjVar< UnionDef > UnionDef_var;
typedef OB::ObjVar< EnumDef > EnumDef_var;
typedef OB::ObjVar< AliasDef > AliasDef_var;
typedef OB::ObjVar< AbstractInterfaceDef > AbstractInterfaceDef_var;
typedef OB::ObjVar< LocalInterfaceDef > LocalInterfaceDef_var;
typedef OB::ObjVar< NativeDef > NativeDef_var;
typedef OB::ObjVar< ValueDef > ValueDef_var;
typedef OB::ObjVar< ValueBoxDef > ValueBoxDef_var;
typedef OB::ObjVar< Container > Container_var;
typedef OB::ObjVar< AttributeDef > AttributeDef_var;
typedef OB::ObjVar< ExceptionDef > ExceptionDef_var;
typedef OB::ObjVar< OperationDef > OperationDef_var;
typedef OB::ObjVar< InterfaceDef > InterfaceDef_var;
}
namespace CORBA
{
class Contained : virtual public ::CORBA::IRObject
{
Contained(const Contained&);
void operator=(const Contained&);
protected:
static const char* ids_[];
public:
Contained() { }
virtual ~Contained() { }
typedef Contained_ptr _ptr_type;
typedef Contained_var _var_type;
static inline Contained_ptr
_duplicate(Contained_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline Contained_ptr
_nil()
{
return 0;
}
static Contained_ptr _narrow(CORBA::Object_ptr);
static Contained_ptr _unchecked_narrow(CORBA::Object_ptr);
static Contained_ptr _narrow(CORBA::AbstractBase_ptr);
static Contained_ptr _unchecked_narrow(CORBA::AbstractBase_ptr);
static const char** _OB_staticIds();
virtual RepositoryId id() = 0;
virtual void id(const char*) = 0;
virtual Identifier name() = 0;
virtual void name(const char*) = 0;
virtual VersionSpec version() = 0;
virtual void version(const char*) = 0;
virtual Container_ptr defined_in() = 0;
virtual ScopedName absolute_name() = 0;
virtual Repository_ptr containing_repository() = 0;
struct Description;
typedef OB::VarVar< Description > Description_var;
typedef OB::VarOut< Description > Description_out;
struct Description
{
Description() { }
Description(const Description&);
Description& operator=(const Description&);
typedef Description_var _var_type;
DefinitionKind kind;
CORBA::Any value;
void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(Description&, OB::InputStreamImpl*);
};
static OB::TypeCodeConst _tc_Description;
virtual Description* describe() = 0;
virtual void move(Container_ptr new_container,
const char* new_name,
const char* new_version) = 0;
};
class OBUnique_InterfaceDefSeq { };
typedef OB::ObjSeq< InterfaceDef, OBUnique_InterfaceDefSeq > InterfaceDefSeq;
typedef OB::SeqVar< OB::ObjSeq< InterfaceDef, OBUnique_InterfaceDefSeq > > InterfaceDefSeq_var;
typedef OB::SeqOut< OB::ObjSeq< InterfaceDef, OBUnique_InterfaceDefSeq > > InterfaceDefSeq_out;
extern OB::TypeCodeConst _tc_InterfaceDefSeq;
struct OBInfo_InterfaceDefSeq : public OB::ConstructedInfo
{
OBInfo_InterfaceDefSeq() { }
virtual void free(void* p) const
{
delete (InterfaceDefSeq*)p;
}
virtual void* dup(const void* p) const
{
return new InterfaceDefSeq(*(const InterfaceDefSeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
class OBUnique_AbstractInterfaceDefSeq { };
typedef OB::ObjSeq< AbstractInterfaceDef, OBUnique_AbstractInterfaceDefSeq > AbstractInterfaceDefSeq;
typedef OB::SeqVar< OB::ObjSeq< AbstractInterfaceDef, OBUnique_AbstractInterfaceDefSeq > > AbstractInterfaceDefSeq_var;
typedef OB::SeqOut< OB::ObjSeq< AbstractInterfaceDef, OBUnique_AbstractInterfaceDefSeq > > AbstractInterfaceDefSeq_out;
extern OB::TypeCodeConst _tc_AbstractInterfaceDefSeq;
struct OBInfo_AbstractInterfaceDefSeq : public OB::ConstructedInfo
{
OBInfo_AbstractInterfaceDefSeq() { }
virtual void free(void* p) const
{
delete (AbstractInterfaceDefSeq*)p;
}
virtual void* dup(const void* p) const
{
return new AbstractInterfaceDefSeq(*(const AbstractInterfaceDefSeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
class OBUnique_LocalInterfaceDefSeq { };
typedef OB::ObjSeq< LocalInterfaceDef, OBUnique_LocalInterfaceDefSeq > LocalInterfaceDefSeq;
typedef OB::SeqVar< OB::ObjSeq< LocalInterfaceDef, OBUnique_LocalInterfaceDefSeq > > LocalInterfaceDefSeq_var;
typedef OB::SeqOut< OB::ObjSeq< LocalInterfaceDef, OBUnique_LocalInterfaceDefSeq > > LocalInterfaceDefSeq_out;
extern OB::TypeCodeConst _tc_LocalInterfaceDefSeq;
struct OBInfo_LocalInterfaceDefSeq : public OB::ConstructedInfo
{
OBInfo_LocalInterfaceDefSeq() { }
virtual void free(void* p) const
{
delete (LocalInterfaceDefSeq*)p;
}
virtual void* dup(const void* p) const
{
return new LocalInterfaceDefSeq(*(const LocalInterfaceDefSeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
class OBUnique_ValueDefSeq { };
typedef OB::ObjSeq< ValueDef, OBUnique_ValueDefSeq > ValueDefSeq;
typedef OB::SeqVar< OB::ObjSeq< ValueDef, OBUnique_ValueDefSeq > > ValueDefSeq_var;
typedef OB::SeqOut< OB::ObjSeq< ValueDef, OBUnique_ValueDefSeq > > ValueDefSeq_out;
extern OB::TypeCodeConst _tc_ValueDefSeq;
struct OBInfo_ValueDefSeq : public OB::ConstructedInfo
{
OBInfo_ValueDefSeq() { }
virtual void free(void* p) const
{
delete (ValueDefSeq*)p;
}
virtual void* dup(const void* p) const
{
return new ValueDefSeq(*(const ValueDefSeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
class OBUnique_ContainedSeq { };
typedef OB::ObjSeq< Contained, OBUnique_ContainedSeq > ContainedSeq;
typedef OB::SeqVar< OB::ObjSeq< Contained, OBUnique_ContainedSeq > > ContainedSeq_var;
typedef OB::SeqOut< OB::ObjSeq< Contained, OBUnique_ContainedSeq > > ContainedSeq_out;
extern OB::TypeCodeConst _tc_ContainedSeq;
struct OBInfo_ContainedSeq : public OB::ConstructedInfo
{
OBInfo_ContainedSeq() { }
virtual void free(void* p) const
{
delete (ContainedSeq*)p;
}
virtual void* dup(const void* p) const
{
return new ContainedSeq(*(const ContainedSeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
class Container : virtual public ::CORBA::IRObject
{
Container(const Container&);
void operator=(const Container&);
protected:
static const char* ids_[];
public:
Container() { }
virtual ~Container() { }
typedef Container_ptr _ptr_type;
typedef Container_var _var_type;
static inline Container_ptr
_duplicate(Container_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline Container_ptr
_nil()
{
return 0;
}
static Container_ptr _narrow(CORBA::Object_ptr);
static Container_ptr _unchecked_narrow(CORBA::Object_ptr);
static Container_ptr _narrow(CORBA::AbstractBase_ptr);
static Container_ptr _unchecked_narrow(CORBA::AbstractBase_ptr);
static const char** _OB_staticIds();
virtual Contained_ptr lookup(const char* search_name) = 0;
virtual ContainedSeq* contents(DefinitionKind limit_type,
CORBA::Boolean exclude_inherited) = 0;
virtual ContainedSeq* lookup_name(const char* search_name,
CORBA::Long levels_to_search,
DefinitionKind limit_type,
CORBA::Boolean exclude_inherited) = 0;
struct Description;
typedef OB::VarVar< Description > Description_var;
typedef OB::VarOut< Description > Description_out;
struct Description
{
Description() { }
Description(const Description&);
Description& operator=(const Description&);
typedef Description_var _var_type;
Contained_var contained_object;
DefinitionKind kind;
CORBA::Any value;
void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(Description&, OB::InputStreamImpl*);
};
static OB::TypeCodeConst _tc_Description;
class OBUnique_DescriptionSeq { };
typedef OB::VarSeq< Description, OBUnique_DescriptionSeq > DescriptionSeq;
typedef OB::SeqVar< OB::VarSeq< Description, OBUnique_DescriptionSeq > > DescriptionSeq_var;
typedef OB::SeqOut< OB::VarSeq< Description, OBUnique_DescriptionSeq > > DescriptionSeq_out;
static OB::TypeCodeConst _tc_DescriptionSeq;
struct OBInfo_DescriptionSeq : public OB::ConstructedInfo
{
OBInfo_DescriptionSeq() { }
virtual void free(void* p) const
{
delete (DescriptionSeq*)p;
}
virtual void* dup(const void* p) const
{
return new DescriptionSeq(*(const DescriptionSeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
virtual DescriptionSeq* describe_contents(DefinitionKind limit_type,
CORBA::Boolean exclude_inherited,
CORBA::Long max_returned_objs) = 0;
virtual ModuleDef_ptr create_module(const char* id,
const char* name,
const char* version) = 0;
virtual ConstantDef_ptr create_constant(const char* id,
const char* name,
const char* version,
IDLType_ptr type,
const CORBA::Any& value) = 0;
virtual StructDef_ptr create_struct(const char* id,
const char* name,
const char* version,
const StructMemberSeq& members) = 0;
virtual UnionDef_ptr create_union(const char* id,
const char* name,
const char* version,
IDLType_ptr discriminator_type,
const UnionMemberSeq& members) = 0;
virtual EnumDef_ptr create_enum(const char* id,
const char* name,
const char* version,
const EnumMemberSeq& members) = 0;
virtual AliasDef_ptr create_alias(const char* id,
const char* name,
const char* version,
IDLType_ptr original_type) = 0;
virtual InterfaceDef_ptr create_interface(const char* id,
const char* name,
const char* version,
const InterfaceDefSeq& base_interfaces) = 0;
virtual AbstractInterfaceDef_ptr create_abstract_interface(const char* id,
const char* name,
const char* version,
const AbstractInterfaceDefSeq& base_interfaces) = 0;
virtual LocalInterfaceDef_ptr create_local_interface(const char* id,
const char* name,
const char* version,
const InterfaceDefSeq& base_interfaces) = 0;
virtual ExceptionDef_ptr create_exception(const char* id,
const char* name,
const char* version,
const StructMemberSeq& members) = 0;
virtual ValueDef_ptr create_value(const char* id,
const char* name,
const char* version,
CORBA::Boolean is_custom,
CORBA::Boolean is_abstract,
ValueDef_ptr base_value,
CORBA::Boolean is_truncatable,
const ValueDefSeq& abstract_base_values,
const InterfaceDefSeq& supported_interfaces,
const InitializerSeq& initializers) = 0;
virtual ValueBoxDef_ptr create_value_box(const char* id,
const char* name,
const char* version,
IDLType_ptr original_type_def) = 0;
virtual NativeDef_ptr create_native(const char* id,
const char* name,
const char* version) = 0;
};
enum AttributeMode
{
ATTR_NORMAL,
ATTR_READONLY
};
typedef AttributeMode& AttributeMode_out;
extern OB::TypeCodeConst _tc_AttributeMode;
class AttributeDef : virtual public ::CORBA::Contained
{
AttributeDef(const AttributeDef&);
void operator=(const AttributeDef&);
protected:
static const char* ids_[];
public:
AttributeDef() { }
virtual ~AttributeDef() { }
typedef AttributeDef_ptr _ptr_type;
typedef AttributeDef_var _var_type;
static inline AttributeDef_ptr
_duplicate(AttributeDef_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline AttributeDef_ptr
_nil()
{
return 0;
}
static AttributeDef_ptr _narrow(CORBA::Object_ptr);
static AttributeDef_ptr _unchecked_narrow(CORBA::Object_ptr);
static AttributeDef_ptr _narrow(CORBA::AbstractBase_ptr);
static AttributeDef_ptr _unchecked_narrow(CORBA::AbstractBase_ptr);
static const char** _OB_staticIds();
virtual CORBA::TypeCode_ptr type() = 0;
virtual IDLType_ptr type_def() = 0;
virtual void type_def(IDLType_ptr) = 0;
virtual AttributeMode mode() = 0;
virtual void mode(AttributeMode) = 0;
};
struct AttributeDescription;
typedef OB::VarVar< AttributeDescription > AttributeDescription_var;
typedef OB::VarOut< AttributeDescription > AttributeDescription_out;
struct AttributeDescription
{
AttributeDescription() { }
AttributeDescription(const AttributeDescription&);
AttributeDescription& operator=(const AttributeDescription&);
typedef AttributeDescription_var _var_type;
OB::StrForStruct name;
OB::StrForStruct id;
OB::StrForStruct defined_in;
OB::StrForStruct version;
CORBA::TypeCode_var type;
AttributeMode mode;
void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(AttributeDescription&, OB::InputStreamImpl*);
};
extern OB::TypeCodeConst _tc_AttributeDescription;
enum OperationMode
{
OP_NORMAL,
OP_ONEWAY
};
typedef OperationMode& OperationMode_out;
extern OB::TypeCodeConst _tc_OperationMode;
struct ParameterDescription;
typedef OB::VarVar< ParameterDescription > ParameterDescription_var;
typedef OB::VarOut< ParameterDescription > ParameterDescription_out;
struct ParameterDescription
{
ParameterDescription() { }
ParameterDescription(const ParameterDescription&);
ParameterDescription& operator=(const ParameterDescription&);
typedef ParameterDescription_var _var_type;
OB::StrForStruct name;
CORBA::TypeCode_var type;
IDLType_var type_def;
ParameterMode mode;
void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(ParameterDescription&, OB::InputStreamImpl*);
};
extern OB::TypeCodeConst _tc_ParameterDescription;
class OBUnique_ParDescriptionSeq { };
typedef OB::VarSeq< ParameterDescription, OBUnique_ParDescriptionSeq > ParDescriptionSeq;
typedef OB::SeqVar< OB::VarSeq< ParameterDescription, OBUnique_ParDescriptionSeq > > ParDescriptionSeq_var;
typedef OB::SeqOut< OB::VarSeq< ParameterDescription, OBUnique_ParDescriptionSeq > > ParDescriptionSeq_out;
extern OB::TypeCodeConst _tc_ParDescriptionSeq;
struct OBInfo_ParDescriptionSeq : public OB::ConstructedInfo
{
OBInfo_ParDescriptionSeq() { }
virtual void free(void* p) const
{
delete (ParDescriptionSeq*)p;
}
virtual void* dup(const void* p) const
{
return new ParDescriptionSeq(*(const ParDescriptionSeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
typedef char* ContextIdentifier;
typedef CORBA::String_var ContextIdentifier_var;
typedef CORBA::String_out ContextIdentifier_out;
extern OB::TypeCodeConst _tc_ContextIdentifier;
class OBUnique_ContextIdSeq { };
typedef OB::StrSeq< OBUnique_ContextIdSeq > ContextIdSeq;
typedef OB::SeqVar< OB::StrSeq< OBUnique_ContextIdSeq > > ContextIdSeq_var;
typedef OB::SeqOut< OB::StrSeq< OBUnique_ContextIdSeq > > ContextIdSeq_out;
extern OB::TypeCodeConst _tc_ContextIdSeq;
struct OBInfo_ContextIdSeq : public OB::ConstructedInfo
{
OBInfo_ContextIdSeq() { }
virtual void free(void* p) const
{
delete (ContextIdSeq*)p;
}
virtual void* dup(const void* p) const
{
return new ContextIdSeq(*(const ContextIdSeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
class ExceptionDef : virtual public ::CORBA::Contained,
virtual public ::CORBA::Container
{
ExceptionDef(const ExceptionDef&);
void operator=(const ExceptionDef&);
protected:
static const char* ids_[];
public:
ExceptionDef() { }
virtual ~ExceptionDef() { }
typedef ExceptionDef_ptr _ptr_type;
typedef ExceptionDef_var _var_type;
static inline ExceptionDef_ptr
_duplicate(ExceptionDef_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline ExceptionDef_ptr
_nil()
{
return 0;
}
static ExceptionDef_ptr _narrow(CORBA::Object_ptr);
static ExceptionDef_ptr _unchecked_narrow(CORBA::Object_ptr);
static ExceptionDef_ptr _narrow(CORBA::AbstractBase_ptr);
static ExceptionDef_ptr _unchecked_narrow(CORBA::AbstractBase_ptr);
static const char** _OB_staticIds();
virtual CORBA::TypeCode_ptr type() = 0;
virtual StructMemberSeq* members() = 0;
virtual void members(const StructMemberSeq&) = 0;
};
struct ExceptionDescription;
typedef OB::VarVar< ExceptionDescription > ExceptionDescription_var;
typedef OB::VarOut< ExceptionDescription > ExceptionDescription_out;
struct ExceptionDescription
{
ExceptionDescription() { }
ExceptionDescription(const ExceptionDescription&);
ExceptionDescription& operator=(const ExceptionDescription&);
typedef ExceptionDescription_var _var_type;
OB::StrForStruct name;
OB::StrForStruct id;
OB::StrForStruct defined_in;
OB::StrForStruct version;
CORBA::TypeCode_var type;
void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(ExceptionDescription&, OB::InputStreamImpl*);
};
extern OB::TypeCodeConst _tc_ExceptionDescription;
class OBUnique_ExceptionDefSeq { };
typedef OB::ObjSeq< ExceptionDef, OBUnique_ExceptionDefSeq > ExceptionDefSeq;
typedef OB::SeqVar< OB::ObjSeq< ExceptionDef, OBUnique_ExceptionDefSeq > > ExceptionDefSeq_var;
typedef OB::SeqOut< OB::ObjSeq< ExceptionDef, OBUnique_ExceptionDefSeq > > ExceptionDefSeq_out;
extern OB::TypeCodeConst _tc_ExceptionDefSeq;
struct OBInfo_ExceptionDefSeq : public OB::ConstructedInfo
{
OBInfo_ExceptionDefSeq() { }
virtual void free(void* p) const
{
delete (ExceptionDefSeq*)p;
}
virtual void* dup(const void* p) const
{
return new ExceptionDefSeq(*(const ExceptionDefSeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
class OBUnique_ExcDescriptionSeq { };
typedef OB::VarSeq< ExceptionDescription, OBUnique_ExcDescriptionSeq > ExcDescriptionSeq;
typedef OB::SeqVar< OB::VarSeq< ExceptionDescription, OBUnique_ExcDescriptionSeq > > ExcDescriptionSeq_var;
typedef OB::SeqOut< OB::VarSeq< ExceptionDescription, OBUnique_ExcDescriptionSeq > > ExcDescriptionSeq_out;
extern OB::TypeCodeConst _tc_ExcDescriptionSeq;
struct OBInfo_ExcDescriptionSeq : public OB::ConstructedInfo
{
OBInfo_ExcDescriptionSeq() { }
virtual void free(void* p) const
{
delete (ExcDescriptionSeq*)p;
}
virtual void* dup(const void* p) const
{
return new ExcDescriptionSeq(*(const ExcDescriptionSeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
class OperationDef : virtual public ::CORBA::Contained
{
OperationDef(const OperationDef&);
void operator=(const OperationDef&);
protected:
static const char* ids_[];
public:
OperationDef() { }
virtual ~OperationDef() { }
typedef OperationDef_ptr _ptr_type;
typedef OperationDef_var _var_type;
static inline OperationDef_ptr
_duplicate(OperationDef_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline OperationDef_ptr
_nil()
{
return 0;
}
static OperationDef_ptr _narrow(CORBA::Object_ptr);
static OperationDef_ptr _unchecked_narrow(CORBA::Object_ptr);
static OperationDef_ptr _narrow(CORBA::AbstractBase_ptr);
static OperationDef_ptr _unchecked_narrow(CORBA::AbstractBase_ptr);
static const char** _OB_staticIds();
virtual CORBA::TypeCode_ptr result() = 0;
virtual IDLType_ptr result_def() = 0;
virtual void result_def(IDLType_ptr) = 0;
virtual ParDescriptionSeq* params() = 0;
virtual void params(const ParDescriptionSeq&) = 0;
virtual OperationMode mode() = 0;
virtual void mode(OperationMode) = 0;
virtual ContextIdSeq* contexts() = 0;
virtual void contexts(const ContextIdSeq&) = 0;
virtual ExceptionDefSeq* exceptions() = 0;
virtual void exceptions(const ExceptionDefSeq&) = 0;
};
struct OperationDescription;
typedef OB::VarVar< OperationDescription > OperationDescription_var;
typedef OB::VarOut< OperationDescription > OperationDescription_out;
struct OperationDescription
{
OperationDescription() { }
OperationDescription(const OperationDescription&);
OperationDescription& operator=(const OperationDescription&);
typedef OperationDescription_var _var_type;
OB::StrForStruct name;
OB::StrForStruct id;
OB::StrForStruct defined_in;
OB::StrForStruct version;
CORBA::TypeCode_var result;
OperationMode mode;
ContextIdSeq contexts;
ParDescriptionSeq parameters;
ExcDescriptionSeq exceptions;
void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(OperationDescription&, OB::InputStreamImpl*);
};
extern OB::TypeCodeConst _tc_OperationDescription;
class OBUnique_RepositoryIdSeq { };
typedef OB::StrSeq< OBUnique_RepositoryIdSeq > RepositoryIdSeq;
typedef OB::SeqVar< OB::StrSeq< OBUnique_RepositoryIdSeq > > RepositoryIdSeq_var;
typedef OB::SeqOut< OB::StrSeq< OBUnique_RepositoryIdSeq > > RepositoryIdSeq_out;
extern OB::TypeCodeConst _tc_RepositoryIdSeq;
struct OBInfo_RepositoryIdSeq : public OB::ConstructedInfo
{
OBInfo_RepositoryIdSeq() { }
virtual void free(void* p) const
{
delete (RepositoryIdSeq*)p;
}
virtual void* dup(const void* p) const
{
return new RepositoryIdSeq(*(const RepositoryIdSeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
class OBUnique_OpDescriptionSeq { };
typedef OB::VarSeq< OperationDescription, OBUnique_OpDescriptionSeq > OpDescriptionSeq;
typedef OB::SeqVar< OB::VarSeq< OperationDescription, OBUnique_OpDescriptionSeq > > OpDescriptionSeq_var;
typedef OB::SeqOut< OB::VarSeq< OperationDescription, OBUnique_OpDescriptionSeq > > OpDescriptionSeq_out;
extern OB::TypeCodeConst _tc_OpDescriptionSeq;
struct OBInfo_OpDescriptionSeq : public OB::ConstructedInfo
{
OBInfo_OpDescriptionSeq() { }
virtual void free(void* p) const
{
delete (OpDescriptionSeq*)p;
}
virtual void* dup(const void* p) const
{
return new OpDescriptionSeq(*(const OpDescriptionSeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
class OBUnique_AttrDescriptionSeq { };
typedef OB::VarSeq< AttributeDescription, OBUnique_AttrDescriptionSeq > AttrDescriptionSeq;
typedef OB::SeqVar< OB::VarSeq< AttributeDescription, OBUnique_AttrDescriptionSeq > > AttrDescriptionSeq_var;
typedef OB::SeqOut< OB::VarSeq< AttributeDescription, OBUnique_AttrDescriptionSeq > > AttrDescriptionSeq_out;
extern OB::TypeCodeConst _tc_AttrDescriptionSeq;
struct OBInfo_AttrDescriptionSeq : public OB::ConstructedInfo
{
OBInfo_AttrDescriptionSeq() { }
virtual void free(void* p) const
{
delete (AttrDescriptionSeq*)p;
}
virtual void* dup(const void* p) const
{
return new AttrDescriptionSeq(*(const AttrDescriptionSeq*)p);
}
virtual void marshal(const void*, OB::OutputStreamImpl*) const;
virtual void unmarshal(void*, OB::InputStreamImpl*) const;
};
class InterfaceDef : virtual public ::CORBA::Container,
virtual public ::CORBA::Contained,
virtual public ::CORBA::IDLType
{
InterfaceDef(const InterfaceDef&);
void operator=(const InterfaceDef&);
protected:
static const char* ids_[];
public:
InterfaceDef() { }
virtual ~InterfaceDef() { }
typedef InterfaceDef_ptr _ptr_type;
typedef InterfaceDef_var _var_type;
static inline InterfaceDef_ptr
_duplicate(InterfaceDef_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline InterfaceDef_ptr
_nil()
{
return 0;
}
static InterfaceDef_ptr _narrow(CORBA::Object_ptr);
static InterfaceDef_ptr _unchecked_narrow(CORBA::Object_ptr);
static InterfaceDef_ptr _narrow(CORBA::AbstractBase_ptr);
static InterfaceDef_ptr _unchecked_narrow(CORBA::AbstractBase_ptr);
static const char** _OB_staticIds();
virtual InterfaceDefSeq* base_interfaces() = 0;
virtual void base_interfaces(const InterfaceDefSeq&) = 0;
virtual CORBA::Boolean is_a(const char* interface_id) = 0;
struct FullInterfaceDescription;
typedef OB::VarVar< FullInterfaceDescription > FullInterfaceDescription_var;
typedef OB::VarOut< FullInterfaceDescription > FullInterfaceDescription_out;
struct FullInterfaceDescription
{
FullInterfaceDescription() { }
FullInterfaceDescription(const FullInterfaceDescription&);
FullInterfaceDescription& operator=(const FullInterfaceDescription&);
typedef FullInterfaceDescription_var _var_type;
OB::StrForStruct name;
OB::StrForStruct id;
OB::StrForStruct defined_in;
OB::StrForStruct version;
OpDescriptionSeq operations;
AttrDescriptionSeq attributes;
RepositoryIdSeq base_interfaces;
CORBA::TypeCode_var type;
void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(FullInterfaceDescription&, OB::InputStreamImpl*);
};
static OB::TypeCodeConst _tc_FullInterfaceDescription;
virtual FullInterfaceDescription* describe_interface() = 0;
virtual AttributeDef_ptr create_attribute(const char* id,
const char* name,
const char* version,
IDLType_ptr type,
AttributeMode mode) = 0;
virtual OperationDef_ptr create_operation(const char* id,
const char* name,
const char* version,
IDLType_ptr result,
OperationMode mode,
const ParDescriptionSeq& params,
const ExceptionDefSeq& exceptions,
const ContextIdSeq& contexts) = 0;
};
struct InterfaceDescription;
typedef OB::VarVar< InterfaceDescription > InterfaceDescription_var;
typedef OB::VarOut< InterfaceDescription > InterfaceDescription_out;
struct InterfaceDescription
{
InterfaceDescription() { }
InterfaceDescription(const InterfaceDescription&);
InterfaceDescription& operator=(const InterfaceDescription&);
typedef InterfaceDescription_var _var_type;
OB::StrForStruct name;
OB::StrForStruct id;
OB::StrForStruct defined_in;
OB::StrForStruct version;
RepositoryIdSeq base_interfaces;
void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(InterfaceDescription&, OB::InputStreamImpl*);
};
extern OB::TypeCodeConst _tc_InterfaceDescription;
}
namespace OBProxy_CORBA
{
class Contained : virtual public ::CORBA::Contained,
virtual public OBProxy_CORBA::IRObject
{
Contained(const Contained&);
void operator=(const Contained&);
protected:
virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();
public:
Contained() { }
virtual ~Contained() { }
virtual const char** _OB_ids() const;
::CORBA::RepositoryId id();
void id(const char*);
::CORBA::Identifier name();
void name(const char*);
::CORBA::VersionSpec version();
void version(const char*);
::CORBA::Container_ptr defined_in();
::CORBA::ScopedName absolute_name();
::CORBA::Repository_ptr containing_repository();
::CORBA::Contained::Description* describe();
void move(::CORBA::Container_ptr new_container,
const char* new_name,
const char* new_version);
};
class Container : virtual public ::CORBA::Container,
virtual public OBProxy_CORBA::IRObject
{
Container(const Container&);
void operator=(const Container&);
protected:
virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();
public:
Container() { }
virtual ~Container() { }
virtual const char** _OB_ids() const;
::CORBA::Contained_ptr lookup(const char* search_name);
::CORBA::ContainedSeq* contents(::CORBA::DefinitionKind limit_type,
CORBA::Boolean exclude_inherited);
::CORBA::ContainedSeq* lookup_name(const char* search_name,
CORBA::Long levels_to_search,
::CORBA::DefinitionKind limit_type,
CORBA::Boolean exclude_inherited);
::CORBA::Container::DescriptionSeq* describe_contents(::CORBA::DefinitionKind limit_type,
CORBA::Boolean exclude_inherited,
CORBA::Long max_returned_objs);
::CORBA::ModuleDef_ptr create_module(const char* id,
const char* name,
const char* version);
::CORBA::ConstantDef_ptr create_constant(const char* id,
const char* name,
const char* version,
::CORBA::IDLType_ptr type,
const CORBA::Any& value);
::CORBA::StructDef_ptr create_struct(const char* id,
const char* name,
const char* version,
const ::CORBA::StructMemberSeq& members);
::CORBA::UnionDef_ptr create_union(const char* id,
const char* name,
const char* version,
::CORBA::IDLType_ptr discriminator_type,
const ::CORBA::UnionMemberSeq& members);
::CORBA::EnumDef_ptr create_enum(const char* id,
const char* name,
const char* version,
const ::CORBA::EnumMemberSeq& members);
::CORBA::AliasDef_ptr create_alias(const char* id,
const char* name,
const char* version,
::CORBA::IDLType_ptr original_type);
::CORBA::InterfaceDef_ptr create_interface(const char* id,
const char* name,
const char* version,
const ::CORBA::InterfaceDefSeq& base_interfaces);
::CORBA::AbstractInterfaceDef_ptr create_abstract_interface(const char* id,
const char* name,
const char* version,
const ::CORBA::AbstractInterfaceDefSeq& base_interfaces);
::CORBA::LocalInterfaceDef_ptr create_local_interface(const char* id,
const char* name,
const char* version,
const ::CORBA::InterfaceDefSeq& base_interfaces);
::CORBA::ExceptionDef_ptr create_exception(const char* id,
const char* name,
const char* version,
const ::CORBA::StructMemberSeq& members);
::CORBA::ValueDef_ptr create_value(const char* id,
const char* name,
const char* version,
CORBA::Boolean is_custom,
CORBA::Boolean is_abstract,
::CORBA::ValueDef_ptr base_value,
CORBA::Boolean is_truncatable,
const ::CORBA::ValueDefSeq& abstract_base_values,
const ::CORBA::InterfaceDefSeq& supported_interfaces,
const ::CORBA::InitializerSeq& initializers);
::CORBA::ValueBoxDef_ptr create_value_box(const char* id,
const char* name,
const char* version,
::CORBA::IDLType_ptr original_type_def);
::CORBA::NativeDef_ptr create_native(const char* id,
const char* name,
const char* version);
};
class AttributeDef : virtual public ::CORBA::AttributeDef,
virtual public OBProxy_CORBA::Contained
{
AttributeDef(const AttributeDef&);
void operator=(const AttributeDef&);
protected:
virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();
public:
AttributeDef() { }
virtual ~AttributeDef() { }
virtual const char** _OB_ids() const;
CORBA::TypeCode_ptr type();
::CORBA::IDLType_ptr type_def();
void type_def(::CORBA::IDLType_ptr);
::CORBA::AttributeMode mode();
void mode(::CORBA::AttributeMode);
};
class ExceptionDef : virtual public ::CORBA::ExceptionDef,
virtual public OBProxy_CORBA::Contained,
virtual public OBProxy_CORBA::Container
{
ExceptionDef(const ExceptionDef&);
void operator=(const ExceptionDef&);
protected:
virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();
public:
ExceptionDef() { }
virtual ~ExceptionDef() { }
virtual const char** _OB_ids() const;
CORBA::TypeCode_ptr type();
::CORBA::StructMemberSeq* members();
void members(const ::CORBA::StructMemberSeq&);
};
class OperationDef : virtual public ::CORBA::OperationDef,
virtual public OBProxy_CORBA::Contained
{
OperationDef(const OperationDef&);
void operator=(const OperationDef&);
protected:
virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();
public:
OperationDef() { }
virtual ~OperationDef() { }
virtual const char** _OB_ids() const;
CORBA::TypeCode_ptr result();
::CORBA::IDLType_ptr result_def();
void result_def(::CORBA::IDLType_ptr);
::CORBA::ParDescriptionSeq* params();
void params(const ::CORBA::ParDescriptionSeq&);
::CORBA::OperationMode mode();
void mode(::CORBA::OperationMode);
::CORBA::ContextIdSeq* contexts();
void contexts(const ::CORBA::ContextIdSeq&);
::CORBA::ExceptionDefSeq* exceptions();
void exceptions(const ::CORBA::ExceptionDefSeq&);
};
class InterfaceDef : virtual public ::CORBA::InterfaceDef,
virtual public OBProxy_CORBA::Container,
virtual public OBProxy_CORBA::Contained,
virtual public OBProxy_CORBA::IDLType
{
InterfaceDef(const InterfaceDef&);
void operator=(const InterfaceDef&);
protected:
virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();
public:
InterfaceDef() { }
virtual ~InterfaceDef() { }
virtual const char** _OB_ids() const;
::CORBA::InterfaceDefSeq* base_interfaces();
void base_interfaces(const ::CORBA::InterfaceDefSeq&);
CORBA::Boolean is_a(const char* interface_id);
::CORBA::InterfaceDef::FullInterfaceDescription* describe_interface();
::CORBA::AttributeDef_ptr create_attribute(const char* id,
const char* name,
const char* version,
::CORBA::IDLType_ptr type,
::CORBA::AttributeMode mode);
::CORBA::OperationDef_ptr create_operation(const char* id,
const char* name,
const char* version,
::CORBA::IDLType_ptr result,
::CORBA::OperationMode mode,
const ::CORBA::ParDescriptionSeq& params,
const ::CORBA::ExceptionDefSeq& exceptions,
const ::CORBA::ContextIdSeq& contexts);
};
}
namespace OBStubImpl_CORBA
{
class Contained : virtual public OBStubImpl_CORBA::IRObject
{
Contained(const Contained&);
void operator=(const Contained&);
protected:
Contained() { }
public:
static inline Contained_ptr
_duplicate(Contained_ptr p)
{
if(p)
p -> _OB_incRef();
return p;
}
static inline Contained_ptr
_nil()
{
return 0;
}
virtual ::CORBA::RepositoryId id() = 0;
virtual void id(const char*) = 0;
virtual ::CORBA::Identifier name() = 0;
virtual void name(const char*) = 0;
virtual ::CORBA::VersionSpec version() = 0;
virtual void version(const char*) = 0;
virtual ::CORBA::Container_ptr defined_in() = 0;
virtual ::CORBA::ScopedName absolute_name() = 0;
virtual ::CORBA::Repository_ptr containing_repository() = 0;
virtual ::CORBA::Contained::Description* describe() = 0;
virtual void move(::CORBA::Container_ptr new_container,
const char* new_name,
const char* new_version) = 0;
};
class Container : virtual public OBStubImpl_CORBA::IRObject
{
Container(const Container&);
void operator=(const Container&);
protected:
Container() { }
public:
static inline Container_ptr
_duplicate(Container_ptr p)
{
if(p)
p -> _OB_incRef();
return p;
}
static inline Container_ptr
_nil()
{
return 0;
}
virtual ::CORBA::Contained_ptr lookup(const char* search_name) = 0;
virtual ::CORBA::ContainedSeq* contents(::CORBA::DefinitionKind limit_type,
CORBA::Boolean exclude_inherited) = 0;
virtual ::CORBA::ContainedSeq* lookup_name(const char* search_name,
CORBA::Long levels_to_search,
::CORBA::DefinitionKind limit_type,
CORBA::Boolean exclude_inherited) = 0;
virtual ::CORBA::Container::DescriptionSeq* describe_contents(::CORBA::DefinitionKind limit_type,
CORBA::Boolean exclude_inherited,
CORBA::Long max_returned_objs) = 0;
virtual ::CORBA::ModuleDef_ptr create_module(const char* id,
const char* name,
const char* version) = 0;
virtual ::CORBA::ConstantDef_ptr create_constant(const char* id,
const char* name,
const char* version,
::CORBA::IDLType_ptr type,
const CORBA::Any& value) = 0;
virtual ::CORBA::StructDef_ptr create_struct(const char* id,
const char* name,
const char* version,
const ::CORBA::StructMemberSeq& members) = 0;
virtual ::CORBA::UnionDef_ptr create_union(const char* id,
const char* name,
const char* version,
::CORBA::IDLType_ptr discriminator_type,
const ::CORBA::UnionMemberSeq& members) = 0;
virtual ::CORBA::EnumDef_ptr create_enum(const char* id,
const char* name,
const char* version,
const ::CORBA::EnumMemberSeq& members) = 0;
virtual ::CORBA::AliasDef_ptr create_alias(const char* id,
const char* name,
const char* version,
::CORBA::IDLType_ptr original_type) = 0;
virtual ::CORBA::InterfaceDef_ptr create_interface(const char* id,
const char* name,
const char* version,
const ::CORBA::InterfaceDefSeq& base_interfaces) = 0;
virtual ::CORBA::AbstractInterfaceDef_ptr create_abstract_interface(const char* id,
const char* name,
const char* version,
const ::CORBA::AbstractInterfaceDefSeq& base_interfaces) = 0;
virtual ::CORBA::LocalInterfaceDef_ptr create_local_interface(const char* id,
const char* name,
const char* version,
const ::CORBA::InterfaceDefSeq& base_interfaces) = 0;
virtual ::CORBA::ExceptionDef_ptr create_exception(const char* id,
const char* name,
const char* version,
const ::CORBA::StructMemberSeq& members) = 0;
virtual ::CORBA::ValueDef_ptr create_value(const char* id,
const char* name,
const char* version,
CORBA::Boolean is_custom,
CORBA::Boolean is_abstract,
::CORBA::ValueDef_ptr base_value,
CORBA::Boolean is_truncatable,
const ::CORBA::ValueDefSeq& abstract_base_values,
const ::CORBA::InterfaceDefSeq& supported_interfaces,
const ::CORBA::InitializerSeq& initializers) = 0;
virtual ::CORBA::ValueBoxDef_ptr create_value_box(const char* id,
const char* name,
const char* version,
::CORBA::IDLType_ptr original_type_def) = 0;
virtual ::CORBA::NativeDef_ptr create_native(const char* id,
const char* name,
const char* version) = 0;
};
class AttributeDef : virtual public OBStubImpl_CORBA::Contained
{
AttributeDef(const AttributeDef&);
void operator=(const AttributeDef&);
protected:
AttributeDef() { }
public:
static inline AttributeDef_ptr
_duplicate(AttributeDef_ptr p)
{
if(p)
p -> _OB_incRef();
return p;
}
static inline AttributeDef_ptr
_nil()
{
return 0;
}
virtual CORBA::TypeCode_ptr type() = 0;
virtual ::CORBA::IDLType_ptr type_def() = 0;
virtual void type_def(::CORBA::IDLType_ptr) = 0;
virtual ::CORBA::AttributeMode mode() = 0;
virtual void mode(::CORBA::AttributeMode) = 0;
};
class ExceptionDef : virtual public OBStubImpl_CORBA::Contained,
virtual public OBStubImpl_CORBA::Container
{
ExceptionDef(const ExceptionDef&);
void operator=(const ExceptionDef&);
protected:
ExceptionDef() { }
public:
static inline ExceptionDef_ptr
_duplicate(ExceptionDef_ptr p)
{
if(p)
p -> _OB_incRef();
return p;
}
static inline ExceptionDef_ptr
_nil()
{
return 0;
}
virtual CORBA::TypeCode_ptr type() = 0;
virtual ::CORBA::StructMemberSeq* members() = 0;
virtual void members(const ::CORBA::StructMemberSeq&) = 0;
};
class OperationDef : virtual public OBStubImpl_CORBA::Contained
{
OperationDef(const OperationDef&);
void operator=(const OperationDef&);
protected:
OperationDef() { }
public:
static inline OperationDef_ptr
_duplicate(OperationDef_ptr p)
{
if(p)
p -> _OB_incRef();
return p;
}
static inline OperationDef_ptr
_nil()
{
return 0;
}
virtual CORBA::TypeCode_ptr result() = 0;
virtual ::CORBA::IDLType_ptr result_def() = 0;
virtual void result_def(::CORBA::IDLType_ptr) = 0;
virtual ::CORBA::ParDescriptionSeq* params() = 0;
virtual void params(const ::CORBA::ParDescriptionSeq&) = 0;
virtual ::CORBA::OperationMode mode() = 0;
virtual void mode(::CORBA::OperationMode) = 0;
virtual ::CORBA::ContextIdSeq* contexts() = 0;
virtual void contexts(const ::CORBA::ContextIdSeq&) = 0;
virtual ::CORBA::ExceptionDefSeq* exceptions() = 0;
virtual void exceptions(const ::CORBA::ExceptionDefSeq&) = 0;
};
class InterfaceDef : virtual public OBStubImpl_CORBA::Container,
virtual public OBStubImpl_CORBA::Contained,
virtual public OBStubImpl_CORBA::IDLType
{
InterfaceDef(const InterfaceDef&);
void operator=(const InterfaceDef&);
protected:
InterfaceDef() { }
public:
static inline InterfaceDef_ptr
_duplicate(InterfaceDef_ptr p)
{
if(p)
p -> _OB_incRef();
return p;
}
static inline InterfaceDef_ptr
_nil()
{
return 0;
}
virtual ::CORBA::InterfaceDefSeq* base_interfaces() = 0;
virtual void base_interfaces(const ::CORBA::InterfaceDefSeq&) = 0;
virtual CORBA::Boolean is_a(const char* interface_id) = 0;
virtual ::CORBA::InterfaceDef::FullInterfaceDescription* describe_interface() = 0;
virtual ::CORBA::AttributeDef_ptr create_attribute(const char* id,
const char* name,
const char* version,
::CORBA::IDLType_ptr type,
::CORBA::AttributeMode mode) = 0;
virtual ::CORBA::OperationDef_ptr create_operation(const char* id,
const char* name,
const char* version,
::CORBA::IDLType_ptr result,
::CORBA::OperationMode mode,
const ::CORBA::ParDescriptionSeq& params,
const ::CORBA::ExceptionDefSeq& exceptions,
const ::CORBA::ContextIdSeq& contexts) = 0;
};
}
namespace OBMarshalStubImpl_CORBA
{
class Contained : virtual public OBStubImpl_CORBA::Contained,
virtual public OBMarshalStubImpl_CORBA::IRObject
{
Contained(const Contained&);
void operator=(const Contained&);
protected:
Contained() { }
friend class OBProxy_CORBA::Contained;
public:
virtual ::CORBA::RepositoryId id();
virtual void id(const char*);
virtual ::CORBA::Identifier name();
virtual void name(const char*);
virtual ::CORBA::VersionSpec version();
virtual void version(const char*);
virtual ::CORBA::Container_ptr defined_in();
virtual ::CORBA::ScopedName absolute_name();
virtual ::CORBA::Repository_ptr containing_repository();
virtual ::CORBA::Contained::Description* describe();
virtual void move(::CORBA::Container_ptr new_container,
const char* new_name,
const char* new_version);
};
class Container : virtual public OBStubImpl_CORBA::Container,
virtual public OBMarshalStubImpl_CORBA::IRObject
{
Container(const Container&);
void operator=(const Container&);
protected:
Container() { }
friend class OBProxy_CORBA::Container;
public:
virtual ::CORBA::Contained_ptr lookup(const char* search_name);
virtual ::CORBA::ContainedSeq* contents(::CORBA::DefinitionKind limit_type,
CORBA::Boolean exclude_inherited);
virtual ::CORBA::ContainedSeq* lookup_name(const char* search_name,
CORBA::Long levels_to_search,
::CORBA::DefinitionKind limit_type,
CORBA::Boolean exclude_inherited);
virtual ::CORBA::Container::DescriptionSeq* describe_contents(::CORBA::DefinitionKind limit_type,
CORBA::Boolean exclude_inherited,
CORBA::Long max_returned_objs);
virtual ::CORBA::ModuleDef_ptr create_module(const char* id,
const char* name,
const char* version);
virtual ::CORBA::ConstantDef_ptr create_constant(const char* id,
const char* name,
const char* version,
::CORBA::IDLType_ptr type,
const CORBA::Any& value);
virtual ::CORBA::StructDef_ptr create_struct(const char* id,
const char* name,
const char* version,
const ::CORBA::StructMemberSeq& members);
virtual ::CORBA::UnionDef_ptr create_union(const char* id,
const char* name,
const char* version,
::CORBA::IDLType_ptr discriminator_type,
const ::CORBA::UnionMemberSeq& members);
virtual ::CORBA::EnumDef_ptr create_enum(const char* id,
const char* name,
const char* version,
const ::CORBA::EnumMemberSeq& members);
virtual ::CORBA::AliasDef_ptr create_alias(const char* id,
const char* name,
const char* version,
::CORBA::IDLType_ptr original_type);
virtual ::CORBA::InterfaceDef_ptr create_interface(const char* id,
const char* name,
const char* version,
const ::CORBA::InterfaceDefSeq& base_interfaces);
virtual ::CORBA::AbstractInterfaceDef_ptr create_abstract_interface(const char* id,
const char* name,
const char* version,
const ::CORBA::AbstractInterfaceDefSeq& base_interfaces);
virtual ::CORBA::LocalInterfaceDef_ptr create_local_interface(const char* id,
const char* name,
const char* version,
const ::CORBA::InterfaceDefSeq& base_interfaces);
virtual ::CORBA::ExceptionDef_ptr create_exception(const char* id,
const char* name,
const char* version,
const ::CORBA::StructMemberSeq& members);
virtual ::CORBA::ValueDef_ptr create_value(const char* id,
const char* name,
const char* version,
CORBA::Boolean is_custom,
CORBA::Boolean is_abstract,
::CORBA::ValueDef_ptr base_value,
CORBA::Boolean is_truncatable,
const ::CORBA::ValueDefSeq& abstract_base_values,
const ::CORBA::InterfaceDefSeq& supported_interfaces,
const ::CORBA::InitializerSeq& initializers);
virtual ::CORBA::ValueBoxDef_ptr create_value_box(const char* id,
const char* name,
const char* version,
::CORBA::IDLType_ptr original_type_def);
virtual ::CORBA::NativeDef_ptr create_native(const char* id,
const char* name,
const char* version);
};
class AttributeDef : virtual public OBStubImpl_CORBA::AttributeDef,
virtual public OBMarshalStubImpl_CORBA::Contained
{
AttributeDef(const AttributeDef&);
void operator=(const AttributeDef&);
protected:
AttributeDef() { }
friend class OBProxy_CORBA::AttributeDef;
public:
virtual CORBA::TypeCode_ptr type();
virtual ::CORBA::IDLType_ptr type_def();
virtual void type_def(::CORBA::IDLType_ptr);
virtual ::CORBA::AttributeMode mode();
virtual void mode(::CORBA::AttributeMode);
};
class ExceptionDef : virtual public OBStubImpl_CORBA::ExceptionDef,
virtual public OBMarshalStubImpl_CORBA::Contained,
virtual public OBMarshalStubImpl_CORBA::Container
{
ExceptionDef(const ExceptionDef&);
void operator=(const ExceptionDef&);
protected:
ExceptionDef() { }
friend class OBProxy_CORBA::ExceptionDef;
public:
virtual CORBA::TypeCode_ptr type();
virtual ::CORBA::StructMemberSeq* members();
virtual void members(const ::CORBA::StructMemberSeq&);
};
class OperationDef : virtual public OBStubImpl_CORBA::OperationDef,
virtual public OBMarshalStubImpl_CORBA::Contained
{
OperationDef(const OperationDef&);
void operator=(const OperationDef&);
protected:
OperationDef() { }
friend class OBProxy_CORBA::OperationDef;
public:
virtual CORBA::TypeCode_ptr result();
virtual ::CORBA::IDLType_ptr result_def();
virtual void result_def(::CORBA::IDLType_ptr);
virtual ::CORBA::ParDescriptionSeq* params();
virtual void params(const ::CORBA::ParDescriptionSeq&);
virtual ::CORBA::OperationMode mode();
virtual void mode(::CORBA::OperationMode);
virtual ::CORBA::ContextIdSeq* contexts();
virtual void contexts(const ::CORBA::ContextIdSeq&);
virtual ::CORBA::ExceptionDefSeq* exceptions();
virtual void exceptions(const ::CORBA::ExceptionDefSeq&);
};
class InterfaceDef : virtual public OBStubImpl_CORBA::InterfaceDef,
virtual public OBMarshalStubImpl_CORBA::Container,
virtual public OBMarshalStubImpl_CORBA::Contained,
virtual public OBMarshalStubImpl_CORBA::IDLType
{
InterfaceDef(const InterfaceDef&);
void operator=(const InterfaceDef&);
protected:
InterfaceDef() { }
friend class OBProxy_CORBA::InterfaceDef;
public:
virtual ::CORBA::InterfaceDefSeq* base_interfaces();
virtual void base_interfaces(const ::CORBA::InterfaceDefSeq&);
virtual CORBA::Boolean is_a(const char* interface_id);
virtual ::CORBA::InterfaceDef::FullInterfaceDescription* describe_interface();
virtual ::CORBA::AttributeDef_ptr create_attribute(const char* id,
const char* name,
const char* version,
::CORBA::IDLType_ptr type,
::CORBA::AttributeMode mode);
virtual ::CORBA::OperationDef_ptr create_operation(const char* id,
const char* name,
const char* version,
::CORBA::IDLType_ptr result,
::CORBA::OperationMode mode,
const ::CORBA::ParDescriptionSeq& params,
const ::CORBA::ExceptionDefSeq& exceptions,
const ::CORBA::ContextIdSeq& contexts);
};
}
namespace OBV_CORBA
{
}
namespace CORBA
{
inline void
release(::CORBA::Contained_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::CORBA::Contained_ptr p)
{
return p == 0;
}
inline void
release(OBStubImpl_CORBA::Contained_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(OBStubImpl_CORBA::Contained_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, CORBA::Contained_ptr*);
void operator<<=(CORBA::Any&, CORBA::Contained_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::Contained_ptr&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::Contained_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, CORBA::Contained_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::Contained_ptr& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::Contained::Description*);
void operator<<=(CORBA::Any&, const CORBA::Contained::Description&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::Contained::Description*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::Contained::Description* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::Contained::Description& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::Contained::Description*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::InterfaceDefSeq*);
void operator<<=(CORBA::Any&, const CORBA::InterfaceDefSeq&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::InterfaceDefSeq*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::InterfaceDefSeq* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::InterfaceDefSeq& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::InterfaceDefSeq*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::AbstractInterfaceDefSeq*);
void operator<<=(CORBA::Any&, const CORBA::AbstractInterfaceDefSeq&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::AbstractInterfaceDefSeq*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::AbstractInterfaceDefSeq* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::AbstractInterfaceDefSeq& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::AbstractInterfaceDefSeq*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::LocalInterfaceDefSeq*);
void operator<<=(CORBA::Any&, const CORBA::LocalInterfaceDefSeq&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::LocalInterfaceDefSeq*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::LocalInterfaceDefSeq* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::LocalInterfaceDefSeq& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::LocalInterfaceDefSeq*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::ValueDefSeq*);
void operator<<=(CORBA::Any&, const CORBA::ValueDefSeq&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::ValueDefSeq*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::ValueDefSeq* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::ValueDefSeq& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::ValueDefSeq*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::ContainedSeq*);
void operator<<=(CORBA::Any&, const CORBA::ContainedSeq&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::ContainedSeq*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::ContainedSeq* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::ContainedSeq& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::ContainedSeq*& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::CORBA::Container_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::CORBA::Container_ptr p)
{
return p == 0;
}
inline void
release(OBStubImpl_CORBA::Container_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(OBStubImpl_CORBA::Container_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, CORBA::Container_ptr*);
void operator<<=(CORBA::Any&, CORBA::Container_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::Container_ptr&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::Container_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, CORBA::Container_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::Container_ptr& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::Container::Description*);
void operator<<=(CORBA::Any&, const CORBA::Container::Description&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::Container::Description*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::Container::Description* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::Container::Description& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::Container::Description*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::Container::DescriptionSeq*);
void operator<<=(CORBA::Any&, const CORBA::Container::DescriptionSeq&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::Container::DescriptionSeq*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::Container::DescriptionSeq* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::Container::DescriptionSeq& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::Container::DescriptionSeq*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::AttributeMode);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::AttributeMode&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::AttributeMode val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::AttributeMode& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::CORBA::AttributeDef_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::CORBA::AttributeDef_ptr p)
{
return p == 0;
}
inline void
release(OBStubImpl_CORBA::AttributeDef_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(OBStubImpl_CORBA::AttributeDef_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, CORBA::AttributeDef_ptr*);
void operator<<=(CORBA::Any&, CORBA::AttributeDef_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::AttributeDef_ptr&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::AttributeDef_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, CORBA::AttributeDef_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::AttributeDef_ptr& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::AttributeDescription*);
void operator<<=(CORBA::Any&, const CORBA::AttributeDescription&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::AttributeDescription*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::AttributeDescription* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::AttributeDescription& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::AttributeDescription*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::OperationMode);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::OperationMode&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::OperationMode val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::OperationMode& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::ParameterDescription*);
void operator<<=(CORBA::Any&, const CORBA::ParameterDescription&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::ParameterDescription*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::ParameterDescription* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::ParameterDescription& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::ParameterDescription*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::ParDescriptionSeq*);
void operator<<=(CORBA::Any&, const CORBA::ParDescriptionSeq&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::ParDescriptionSeq*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::ParDescriptionSeq* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::ParDescriptionSeq& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::ParDescriptionSeq*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::ContextIdSeq*);
void operator<<=(CORBA::Any&, const CORBA::ContextIdSeq&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::ContextIdSeq*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::ContextIdSeq* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::ContextIdSeq& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::ContextIdSeq*& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::CORBA::ExceptionDef_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::CORBA::ExceptionDef_ptr p)
{
return p == 0;
}
inline void
release(OBStubImpl_CORBA::ExceptionDef_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(OBStubImpl_CORBA::ExceptionDef_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, CORBA::ExceptionDef_ptr*);
void operator<<=(CORBA::Any&, CORBA::ExceptionDef_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::ExceptionDef_ptr&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::ExceptionDef_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, CORBA::ExceptionDef_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::ExceptionDef_ptr& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::ExceptionDescription*);
void operator<<=(CORBA::Any&, const CORBA::ExceptionDescription&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::ExceptionDescription*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::ExceptionDescription* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::ExceptionDescription& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::ExceptionDescription*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::ExceptionDefSeq*);
void operator<<=(CORBA::Any&, const CORBA::ExceptionDefSeq&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::ExceptionDefSeq*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::ExceptionDefSeq* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::ExceptionDefSeq& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::ExceptionDefSeq*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::ExcDescriptionSeq*);
void operator<<=(CORBA::Any&, const CORBA::ExcDescriptionSeq&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::ExcDescriptionSeq*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::ExcDescriptionSeq* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::ExcDescriptionSeq& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::ExcDescriptionSeq*& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::CORBA::OperationDef_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::CORBA::OperationDef_ptr p)
{
return p == 0;
}
inline void
release(OBStubImpl_CORBA::OperationDef_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(OBStubImpl_CORBA::OperationDef_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, CORBA::OperationDef_ptr*);
void operator<<=(CORBA::Any&, CORBA::OperationDef_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::OperationDef_ptr&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::OperationDef_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, CORBA::OperationDef_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::OperationDef_ptr& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::OperationDescription*);
void operator<<=(CORBA::Any&, const CORBA::OperationDescription&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::OperationDescription*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::OperationDescription* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::OperationDescription& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::OperationDescription*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::RepositoryIdSeq*);
void operator<<=(CORBA::Any&, const CORBA::RepositoryIdSeq&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::RepositoryIdSeq*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::RepositoryIdSeq* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::RepositoryIdSeq& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::RepositoryIdSeq*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::OpDescriptionSeq*);
void operator<<=(CORBA::Any&, const CORBA::OpDescriptionSeq&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::OpDescriptionSeq*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::OpDescriptionSeq* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::OpDescriptionSeq& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::OpDescriptionSeq*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::AttrDescriptionSeq*);
void operator<<=(CORBA::Any&, const CORBA::AttrDescriptionSeq&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::AttrDescriptionSeq*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::AttrDescriptionSeq* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::AttrDescriptionSeq& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::AttrDescriptionSeq*& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::CORBA::InterfaceDef_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::CORBA::InterfaceDef_ptr p)
{
return p == 0;
}
inline void
release(OBStubImpl_CORBA::InterfaceDef_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(OBStubImpl_CORBA::InterfaceDef_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, CORBA::InterfaceDef_ptr*);
void operator<<=(CORBA::Any&, CORBA::InterfaceDef_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::InterfaceDef_ptr&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::InterfaceDef_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, CORBA::InterfaceDef_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::InterfaceDef_ptr& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::InterfaceDef::FullInterfaceDescription*);
void operator<<=(CORBA::Any&, const CORBA::InterfaceDef::FullInterfaceDescription&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::InterfaceDef::FullInterfaceDescription*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::InterfaceDef::FullInterfaceDescription* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::InterfaceDef::FullInterfaceDescription& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::InterfaceDef::FullInterfaceDescription*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::InterfaceDescription*);
void operator<<=(CORBA::Any&, const CORBA::InterfaceDescription&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::InterfaceDescription*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::InterfaceDescription* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::InterfaceDescription& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::InterfaceDescription*& val)
{
return any.in() >>= val;
}
# 29 "../../include/OB/IFR.h" 2
# 1 "../../include/OB/IFR3.h" 1
# 27 "../../include/OB/IFR3.h"
# 1 "../../include/OB/IFR2.h" 1
# 28 "../../include/OB/IFR3.h" 2
# 1 "../../include/OB/IFR3_fwd.h" 1
# 18 "../../include/OB/IFR3_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 19 "../../include/OB/IFR3_fwd.h" 2
# 39 "../../include/OB/IFR3_fwd.h"
namespace CORBA
{
class Repository;
typedef Repository* Repository_ptr;
typedef Repository* RepositoryRef;
extern OB::TypeCodeConst _tc_Repository;
class ModuleDef;
typedef ModuleDef* ModuleDef_ptr;
typedef ModuleDef* ModuleDefRef;
extern OB::TypeCodeConst _tc_ModuleDef;
class ConstantDef;
typedef ConstantDef* ConstantDef_ptr;
typedef ConstantDef* ConstantDefRef;
extern OB::TypeCodeConst _tc_ConstantDef;
class TypedefDef;
typedef TypedefDef* TypedefDef_ptr;
typedef TypedefDef* TypedefDefRef;
extern OB::TypeCodeConst _tc_TypedefDef;
class StructDef;
typedef StructDef* StructDef_ptr;
typedef StructDef* StructDefRef;
extern OB::TypeCodeConst _tc_StructDef;
class UnionDef;
typedef UnionDef* UnionDef_ptr;
typedef UnionDef* UnionDefRef;
extern OB::TypeCodeConst _tc_UnionDef;
class EnumDef;
typedef EnumDef* EnumDef_ptr;
typedef EnumDef* EnumDefRef;
extern OB::TypeCodeConst _tc_EnumDef;
class AliasDef;
typedef AliasDef* AliasDef_ptr;
typedef AliasDef* AliasDefRef;
extern OB::TypeCodeConst _tc_AliasDef;
class NativeDef;
typedef NativeDef* NativeDef_ptr;
typedef NativeDef* NativeDefRef;
extern OB::TypeCodeConst _tc_NativeDef;
class PrimitiveDef;
typedef PrimitiveDef* PrimitiveDef_ptr;
typedef PrimitiveDef* PrimitiveDefRef;
extern OB::TypeCodeConst _tc_PrimitiveDef;
class StringDef;
typedef StringDef* StringDef_ptr;
typedef StringDef* StringDefRef;
extern OB::TypeCodeConst _tc_StringDef;
class WstringDef;
typedef WstringDef* WstringDef_ptr;
typedef WstringDef* WstringDefRef;
extern OB::TypeCodeConst _tc_WstringDef;
class FixedDef;
typedef FixedDef* FixedDef_ptr;
typedef FixedDef* FixedDefRef;
extern OB::TypeCodeConst _tc_FixedDef;
class SequenceDef;
typedef SequenceDef* SequenceDef_ptr;
typedef SequenceDef* SequenceDefRef;
extern OB::TypeCodeConst _tc_SequenceDef;
class ArrayDef;
typedef ArrayDef* ArrayDef_ptr;
typedef ArrayDef* ArrayDefRef;
extern OB::TypeCodeConst _tc_ArrayDef;
}
void OBDuplicate(CORBA::Repository_ptr);
void OBRelease(CORBA::Repository_ptr);
void OBMarshal(CORBA::Repository_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::Repository_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::ModuleDef_ptr);
void OBRelease(CORBA::ModuleDef_ptr);
void OBMarshal(CORBA::ModuleDef_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::ModuleDef_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::ConstantDef_ptr);
void OBRelease(CORBA::ConstantDef_ptr);
void OBMarshal(CORBA::ConstantDef_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::ConstantDef_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::TypedefDef_ptr);
void OBRelease(CORBA::TypedefDef_ptr);
void OBMarshal(CORBA::TypedefDef_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::TypedefDef_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::StructDef_ptr);
void OBRelease(CORBA::StructDef_ptr);
void OBMarshal(CORBA::StructDef_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::StructDef_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::UnionDef_ptr);
void OBRelease(CORBA::UnionDef_ptr);
void OBMarshal(CORBA::UnionDef_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::UnionDef_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::EnumDef_ptr);
void OBRelease(CORBA::EnumDef_ptr);
void OBMarshal(CORBA::EnumDef_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::EnumDef_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::AliasDef_ptr);
void OBRelease(CORBA::AliasDef_ptr);
void OBMarshal(CORBA::AliasDef_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::AliasDef_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::NativeDef_ptr);
void OBRelease(CORBA::NativeDef_ptr);
void OBMarshal(CORBA::NativeDef_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::NativeDef_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::PrimitiveDef_ptr);
void OBRelease(CORBA::PrimitiveDef_ptr);
void OBMarshal(CORBA::PrimitiveDef_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::PrimitiveDef_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::StringDef_ptr);
void OBRelease(CORBA::StringDef_ptr);
void OBMarshal(CORBA::StringDef_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::StringDef_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::WstringDef_ptr);
void OBRelease(CORBA::WstringDef_ptr);
void OBMarshal(CORBA::WstringDef_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::WstringDef_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::FixedDef_ptr);
void OBRelease(CORBA::FixedDef_ptr);
void OBMarshal(CORBA::FixedDef_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::FixedDef_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::SequenceDef_ptr);
void OBRelease(CORBA::SequenceDef_ptr);
void OBMarshal(CORBA::SequenceDef_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::SequenceDef_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::ArrayDef_ptr);
void OBRelease(CORBA::ArrayDef_ptr);
void OBMarshal(CORBA::ArrayDef_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::ArrayDef_ptr&, OB::InputStreamImpl*);
namespace CORBA
{
typedef OB::ObjVar< Repository > Repository_var;
typedef OB::ObjOut< Repository > Repository_out;
typedef OB::ObjVar< ModuleDef > ModuleDef_var;
typedef OB::ObjOut< ModuleDef > ModuleDef_out;
typedef OB::ObjVar< ConstantDef > ConstantDef_var;
typedef OB::ObjOut< ConstantDef > ConstantDef_out;
typedef OB::ObjVar< TypedefDef > TypedefDef_var;
typedef OB::ObjOut< TypedefDef > TypedefDef_out;
typedef OB::ObjVar< StructDef > StructDef_var;
typedef OB::ObjOut< StructDef > StructDef_out;
typedef OB::ObjVar< UnionDef > UnionDef_var;
typedef OB::ObjOut< UnionDef > UnionDef_out;
typedef OB::ObjVar< EnumDef > EnumDef_var;
typedef OB::ObjOut< EnumDef > EnumDef_out;
typedef OB::ObjVar< AliasDef > AliasDef_var;
typedef OB::ObjOut< AliasDef > AliasDef_out;
typedef OB::ObjVar< NativeDef > NativeDef_var;
typedef OB::ObjOut< NativeDef > NativeDef_out;
typedef OB::ObjVar< PrimitiveDef > PrimitiveDef_var;
typedef OB::ObjOut< PrimitiveDef > PrimitiveDef_out;
typedef OB::ObjVar< StringDef > StringDef_var;
typedef OB::ObjOut< StringDef > StringDef_out;
typedef OB::ObjVar< WstringDef > WstringDef_var;
typedef OB::ObjOut< WstringDef > WstringDef_out;
typedef OB::ObjVar< FixedDef > FixedDef_var;
typedef OB::ObjOut< FixedDef > FixedDef_out;
typedef OB::ObjVar< SequenceDef > SequenceDef_var;
typedef OB::ObjOut< SequenceDef > SequenceDef_out;
typedef OB::ObjVar< ArrayDef > ArrayDef_var;
typedef OB::ObjOut< ArrayDef > ArrayDef_out;
}
# 29 "../../include/OB/IFR3.h" 2
# 40 "../../include/OB/IFR3.h"
namespace OBStubImpl_CORBA
{
class Repository;
typedef Repository* Repository_ptr;
class ModuleDef;
typedef ModuleDef* ModuleDef_ptr;
class ConstantDef;
typedef ConstantDef* ConstantDef_ptr;
class TypedefDef;
typedef TypedefDef* TypedefDef_ptr;
class StructDef;
typedef StructDef* StructDef_ptr;
class UnionDef;
typedef UnionDef* UnionDef_ptr;
class EnumDef;
typedef EnumDef* EnumDef_ptr;
class AliasDef;
typedef AliasDef* AliasDef_ptr;
class NativeDef;
typedef NativeDef* NativeDef_ptr;
class PrimitiveDef;
typedef PrimitiveDef* PrimitiveDef_ptr;
class StringDef;
typedef StringDef* StringDef_ptr;
class WstringDef;
typedef WstringDef* WstringDef_ptr;
class FixedDef;
typedef FixedDef* FixedDef_ptr;
class SequenceDef;
typedef SequenceDef* SequenceDef_ptr;
class ArrayDef;
typedef ArrayDef* ArrayDef_ptr;
}
void OBDuplicate(OBStubImpl_CORBA::Repository_ptr);
void OBRelease(OBStubImpl_CORBA::Repository_ptr);
void OBDuplicate(OBStubImpl_CORBA::ModuleDef_ptr);
void OBRelease(OBStubImpl_CORBA::ModuleDef_ptr);
void OBDuplicate(OBStubImpl_CORBA::ConstantDef_ptr);
void OBRelease(OBStubImpl_CORBA::ConstantDef_ptr);
void OBDuplicate(OBStubImpl_CORBA::TypedefDef_ptr);
void OBRelease(OBStubImpl_CORBA::TypedefDef_ptr);
void OBDuplicate(OBStubImpl_CORBA::StructDef_ptr);
void OBRelease(OBStubImpl_CORBA::StructDef_ptr);
void OBDuplicate(OBStubImpl_CORBA::UnionDef_ptr);
void OBRelease(OBStubImpl_CORBA::UnionDef_ptr);
void OBDuplicate(OBStubImpl_CORBA::EnumDef_ptr);
void OBRelease(OBStubImpl_CORBA::EnumDef_ptr);
void OBDuplicate(OBStubImpl_CORBA::AliasDef_ptr);
void OBRelease(OBStubImpl_CORBA::AliasDef_ptr);
void OBDuplicate(OBStubImpl_CORBA::NativeDef_ptr);
void OBRelease(OBStubImpl_CORBA::NativeDef_ptr);
void OBDuplicate(OBStubImpl_CORBA::PrimitiveDef_ptr);
void OBRelease(OBStubImpl_CORBA::PrimitiveDef_ptr);
void OBDuplicate(OBStubImpl_CORBA::StringDef_ptr);
void OBRelease(OBStubImpl_CORBA::StringDef_ptr);
void OBDuplicate(OBStubImpl_CORBA::WstringDef_ptr);
void OBRelease(OBStubImpl_CORBA::WstringDef_ptr);
void OBDuplicate(OBStubImpl_CORBA::FixedDef_ptr);
void OBRelease(OBStubImpl_CORBA::FixedDef_ptr);
void OBDuplicate(OBStubImpl_CORBA::SequenceDef_ptr);
void OBRelease(OBStubImpl_CORBA::SequenceDef_ptr);
void OBDuplicate(OBStubImpl_CORBA::ArrayDef_ptr);
void OBRelease(OBStubImpl_CORBA::ArrayDef_ptr);
namespace OBStubImpl_CORBA
{
typedef OB::ObjVar< Repository > Repository_var;
typedef OB::ObjVar< ModuleDef > ModuleDef_var;
typedef OB::ObjVar< ConstantDef > ConstantDef_var;
typedef OB::ObjVar< TypedefDef > TypedefDef_var;
typedef OB::ObjVar< StructDef > StructDef_var;
typedef OB::ObjVar< UnionDef > UnionDef_var;
typedef OB::ObjVar< EnumDef > EnumDef_var;
typedef OB::ObjVar< AliasDef > AliasDef_var;
typedef OB::ObjVar< NativeDef > NativeDef_var;
typedef OB::ObjVar< PrimitiveDef > PrimitiveDef_var;
typedef OB::ObjVar< StringDef > StringDef_var;
typedef OB::ObjVar< WstringDef > WstringDef_var;
typedef OB::ObjVar< FixedDef > FixedDef_var;
typedef OB::ObjVar< SequenceDef > SequenceDef_var;
typedef OB::ObjVar< ArrayDef > ArrayDef_var;
}
namespace CORBA
{
enum PrimitiveKind
{
pk_null,
pk_void,
pk_short,
pk_long,
pk_ushort,
pk_ulong,
pk_float,
pk_double,
pk_boolean,
pk_char,
pk_octet,
pk_any,
pk_TypeCode,
pk_Principal,
pk_string,
pk_objref,
pk_longlong,
pk_ulonglong,
pk_longdouble,
pk_wchar,
pk_wstring,
pk_value_base
};
typedef PrimitiveKind& PrimitiveKind_out;
extern OB::TypeCodeConst _tc_PrimitiveKind;
class Repository : virtual public ::CORBA::Container
{
Repository(const Repository&);
void operator=(const Repository&);
protected:
static const char* ids_[];
public:
Repository() { }
virtual ~Repository() { }
typedef Repository_ptr _ptr_type;
typedef Repository_var _var_type;
static inline Repository_ptr
_duplicate(Repository_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline Repository_ptr
_nil()
{
return 0;
}
static Repository_ptr _narrow(CORBA::Object_ptr);
static Repository_ptr _unchecked_narrow(CORBA::Object_ptr);
static Repository_ptr _narrow(CORBA::AbstractBase_ptr);
static Repository_ptr _unchecked_narrow(CORBA::AbstractBase_ptr);
static const char** _OB_staticIds();
virtual Contained_ptr lookup_id(const char* search_id) = 0;
virtual CORBA::TypeCode_ptr get_canonical_typecode(CORBA::TypeCode_ptr tc) = 0;
virtual PrimitiveDef_ptr get_primitive(PrimitiveKind kind) = 0;
virtual StringDef_ptr create_string(CORBA::ULong bound) = 0;
virtual WstringDef_ptr create_wstring(CORBA::ULong bound) = 0;
virtual SequenceDef_ptr create_sequence(CORBA::ULong bound,
IDLType_ptr element_type) = 0;
virtual ArrayDef_ptr create_array(CORBA::ULong length,
IDLType_ptr element_type) = 0;
virtual FixedDef_ptr create_fixed(CORBA::UShort digits,
CORBA::Short scale) = 0;
};
class ModuleDef : virtual public ::CORBA::Container,
virtual public ::CORBA::Contained
{
ModuleDef(const ModuleDef&);
void operator=(const ModuleDef&);
protected:
static const char* ids_[];
public:
ModuleDef() { }
virtual ~ModuleDef() { }
typedef ModuleDef_ptr _ptr_type;
typedef ModuleDef_var _var_type;
static inline ModuleDef_ptr
_duplicate(ModuleDef_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline ModuleDef_ptr
_nil()
{
return 0;
}
static ModuleDef_ptr _narrow(CORBA::Object_ptr);
static ModuleDef_ptr _unchecked_narrow(CORBA::Object_ptr);
static ModuleDef_ptr _narrow(CORBA::AbstractBase_ptr);
static ModuleDef_ptr _unchecked_narrow(CORBA::AbstractBase_ptr);
static const char** _OB_staticIds();
};
struct ModuleDescription;
typedef OB::VarVar< ModuleDescription > ModuleDescription_var;
typedef OB::VarOut< ModuleDescription > ModuleDescription_out;
struct ModuleDescription
{
ModuleDescription() { }
ModuleDescription(const ModuleDescription&);
ModuleDescription& operator=(const ModuleDescription&);
typedef ModuleDescription_var _var_type;
OB::StrForStruct name;
OB::StrForStruct id;
OB::StrForStruct defined_in;
OB::StrForStruct version;
void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(ModuleDescription&, OB::InputStreamImpl*);
};
extern OB::TypeCodeConst _tc_ModuleDescription;
class ConstantDef : virtual public ::CORBA::Contained
{
ConstantDef(const ConstantDef&);
void operator=(const ConstantDef&);
protected:
static const char* ids_[];
public:
ConstantDef() { }
virtual ~ConstantDef() { }
typedef ConstantDef_ptr _ptr_type;
typedef ConstantDef_var _var_type;
static inline ConstantDef_ptr
_duplicate(ConstantDef_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline ConstantDef_ptr
_nil()
{
return 0;
}
static ConstantDef_ptr _narrow(CORBA::Object_ptr);
static ConstantDef_ptr _unchecked_narrow(CORBA::Object_ptr);
static ConstantDef_ptr _narrow(CORBA::AbstractBase_ptr);
static ConstantDef_ptr _unchecked_narrow(CORBA::AbstractBase_ptr);
static const char** _OB_staticIds();
virtual CORBA::TypeCode_ptr type() = 0;
virtual IDLType_ptr type_def() = 0;
virtual void type_def(IDLType_ptr) = 0;
virtual CORBA::Any* value() = 0;
virtual void value(const CORBA::Any&) = 0;
};
struct ConstantDescription;
typedef OB::VarVar< ConstantDescription > ConstantDescription_var;
typedef OB::VarOut< ConstantDescription > ConstantDescription_out;
struct ConstantDescription
{
ConstantDescription() { }
ConstantDescription(const ConstantDescription&);
ConstantDescription& operator=(const ConstantDescription&);
typedef ConstantDescription_var _var_type;
OB::StrForStruct name;
OB::StrForStruct id;
OB::StrForStruct defined_in;
OB::StrForStruct version;
CORBA::TypeCode_var type;
CORBA::Any value;
void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(ConstantDescription&, OB::InputStreamImpl*);
};
extern OB::TypeCodeConst _tc_ConstantDescription;
class TypedefDef : virtual public ::CORBA::Contained,
virtual public ::CORBA::IDLType
{
TypedefDef(const TypedefDef&);
void operator=(const TypedefDef&);
protected:
static const char* ids_[];
public:
TypedefDef() { }
virtual ~TypedefDef() { }
typedef TypedefDef_ptr _ptr_type;
typedef TypedefDef_var _var_type;
static inline TypedefDef_ptr
_duplicate(TypedefDef_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline TypedefDef_ptr
_nil()
{
return 0;
}
static TypedefDef_ptr _narrow(CORBA::Object_ptr);
static TypedefDef_ptr _unchecked_narrow(CORBA::Object_ptr);
static TypedefDef_ptr _narrow(CORBA::AbstractBase_ptr);
static TypedefDef_ptr _unchecked_narrow(CORBA::AbstractBase_ptr);
static const char** _OB_staticIds();
};
struct TypeDescription;
typedef OB::VarVar< TypeDescription > TypeDescription_var;
typedef OB::VarOut< TypeDescription > TypeDescription_out;
struct TypeDescription
{
TypeDescription() { }
TypeDescription(const TypeDescription&);
TypeDescription& operator=(const TypeDescription&);
typedef TypeDescription_var _var_type;
OB::StrForStruct name;
OB::StrForStruct id;
OB::StrForStruct defined_in;
OB::StrForStruct version;
CORBA::TypeCode_var type;
void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(TypeDescription&, OB::InputStreamImpl*);
};
extern OB::TypeCodeConst _tc_TypeDescription;
class StructDef : virtual public ::CORBA::TypedefDef,
virtual public ::CORBA::Container
{
StructDef(const StructDef&);
void operator=(const StructDef&);
protected:
static const char* ids_[];
public:
StructDef() { }
virtual ~StructDef() { }
typedef StructDef_ptr _ptr_type;
typedef StructDef_var _var_type;
static inline StructDef_ptr
_duplicate(StructDef_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline StructDef_ptr
_nil()
{
return 0;
}
static StructDef_ptr _narrow(CORBA::Object_ptr);
static StructDef_ptr _unchecked_narrow(CORBA::Object_ptr);
static StructDef_ptr _narrow(CORBA::AbstractBase_ptr);
static StructDef_ptr _unchecked_narrow(CORBA::AbstractBase_ptr);
static const char** _OB_staticIds();
virtual StructMemberSeq* members() = 0;
virtual void members(const StructMemberSeq&) = 0;
};
class UnionDef : virtual public ::CORBA::TypedefDef,
virtual public ::CORBA::Container
{
UnionDef(const UnionDef&);
void operator=(const UnionDef&);
protected:
static const char* ids_[];
public:
UnionDef() { }
virtual ~UnionDef() { }
typedef UnionDef_ptr _ptr_type;
typedef UnionDef_var _var_type;
static inline UnionDef_ptr
_duplicate(UnionDef_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline UnionDef_ptr
_nil()
{
return 0;
}
static UnionDef_ptr _narrow(CORBA::Object_ptr);
static UnionDef_ptr _unchecked_narrow(CORBA::Object_ptr);
static UnionDef_ptr _narrow(CORBA::AbstractBase_ptr);
static UnionDef_ptr _unchecked_narrow(CORBA::AbstractBase_ptr);
static const char** _OB_staticIds();
virtual CORBA::TypeCode_ptr discriminator_type() = 0;
virtual IDLType_ptr discriminator_type_def() = 0;
virtual void discriminator_type_def(IDLType_ptr) = 0;
virtual UnionMemberSeq* members() = 0;
virtual void members(const UnionMemberSeq&) = 0;
};
class EnumDef : virtual public ::CORBA::TypedefDef
{
EnumDef(const EnumDef&);
void operator=(const EnumDef&);
protected:
static const char* ids_[];
public:
EnumDef() { }
virtual ~EnumDef() { }
typedef EnumDef_ptr _ptr_type;
typedef EnumDef_var _var_type;
static inline EnumDef_ptr
_duplicate(EnumDef_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline EnumDef_ptr
_nil()
{
return 0;
}
static EnumDef_ptr _narrow(CORBA::Object_ptr);
static EnumDef_ptr _unchecked_narrow(CORBA::Object_ptr);
static EnumDef_ptr _narrow(CORBA::AbstractBase_ptr);
static EnumDef_ptr _unchecked_narrow(CORBA::AbstractBase_ptr);
static const char** _OB_staticIds();
virtual EnumMemberSeq* members() = 0;
virtual void members(const EnumMemberSeq&) = 0;
};
class AliasDef : virtual public ::CORBA::TypedefDef
{
AliasDef(const AliasDef&);
void operator=(const AliasDef&);
protected:
static const char* ids_[];
public:
AliasDef() { }
virtual ~AliasDef() { }
typedef AliasDef_ptr _ptr_type;
typedef AliasDef_var _var_type;
static inline AliasDef_ptr
_duplicate(AliasDef_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline AliasDef_ptr
_nil()
{
return 0;
}
static AliasDef_ptr _narrow(CORBA::Object_ptr);
static AliasDef_ptr _unchecked_narrow(CORBA::Object_ptr);
static AliasDef_ptr _narrow(CORBA::AbstractBase_ptr);
static AliasDef_ptr _unchecked_narrow(CORBA::AbstractBase_ptr);
static const char** _OB_staticIds();
virtual IDLType_ptr original_type_def() = 0;
virtual void original_type_def(IDLType_ptr) = 0;
};
class NativeDef : virtual public ::CORBA::TypedefDef
{
NativeDef(const NativeDef&);
void operator=(const NativeDef&);
protected:
static const char* ids_[];
public:
NativeDef() { }
virtual ~NativeDef() { }
typedef NativeDef_ptr _ptr_type;
typedef NativeDef_var _var_type;
static inline NativeDef_ptr
_duplicate(NativeDef_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline NativeDef_ptr
_nil()
{
return 0;
}
static NativeDef_ptr _narrow(CORBA::Object_ptr);
static NativeDef_ptr _unchecked_narrow(CORBA::Object_ptr);
static NativeDef_ptr _narrow(CORBA::AbstractBase_ptr);
static NativeDef_ptr _unchecked_narrow(CORBA::AbstractBase_ptr);
static const char** _OB_staticIds();
};
class PrimitiveDef : virtual public ::CORBA::IDLType
{
PrimitiveDef(const PrimitiveDef&);
void operator=(const PrimitiveDef&);
protected:
static const char* ids_[];
public:
PrimitiveDef() { }
virtual ~PrimitiveDef() { }
typedef PrimitiveDef_ptr _ptr_type;
typedef PrimitiveDef_var _var_type;
static inline PrimitiveDef_ptr
_duplicate(PrimitiveDef_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline PrimitiveDef_ptr
_nil()
{
return 0;
}
static PrimitiveDef_ptr _narrow(CORBA::Object_ptr);
static PrimitiveDef_ptr _unchecked_narrow(CORBA::Object_ptr);
static PrimitiveDef_ptr _narrow(CORBA::AbstractBase_ptr);
static PrimitiveDef_ptr _unchecked_narrow(CORBA::AbstractBase_ptr);
static const char** _OB_staticIds();
virtual PrimitiveKind kind() = 0;
};
class StringDef : virtual public ::CORBA::IDLType
{
StringDef(const StringDef&);
void operator=(const StringDef&);
protected:
static const char* ids_[];
public:
StringDef() { }
virtual ~StringDef() { }
typedef StringDef_ptr _ptr_type;
typedef StringDef_var _var_type;
static inline StringDef_ptr
_duplicate(StringDef_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline StringDef_ptr
_nil()
{
return 0;
}
static StringDef_ptr _narrow(CORBA::Object_ptr);
static StringDef_ptr _unchecked_narrow(CORBA::Object_ptr);
static StringDef_ptr _narrow(CORBA::AbstractBase_ptr);
static StringDef_ptr _unchecked_narrow(CORBA::AbstractBase_ptr);
static const char** _OB_staticIds();
virtual CORBA::ULong bound() = 0;
virtual void bound(CORBA::ULong) = 0;
};
class WstringDef : virtual public ::CORBA::IDLType
{
WstringDef(const WstringDef&);
void operator=(const WstringDef&);
protected:
static const char* ids_[];
public:
WstringDef() { }
virtual ~WstringDef() { }
typedef WstringDef_ptr _ptr_type;
typedef WstringDef_var _var_type;
static inline WstringDef_ptr
_duplicate(WstringDef_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline WstringDef_ptr
_nil()
{
return 0;
}
static WstringDef_ptr _narrow(CORBA::Object_ptr);
static WstringDef_ptr _unchecked_narrow(CORBA::Object_ptr);
static WstringDef_ptr _narrow(CORBA::AbstractBase_ptr);
static WstringDef_ptr _unchecked_narrow(CORBA::AbstractBase_ptr);
static const char** _OB_staticIds();
virtual CORBA::ULong bound() = 0;
virtual void bound(CORBA::ULong) = 0;
};
class FixedDef : virtual public ::CORBA::IDLType
{
FixedDef(const FixedDef&);
void operator=(const FixedDef&);
protected:
static const char* ids_[];
public:
FixedDef() { }
virtual ~FixedDef() { }
typedef FixedDef_ptr _ptr_type;
typedef FixedDef_var _var_type;
static inline FixedDef_ptr
_duplicate(FixedDef_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline FixedDef_ptr
_nil()
{
return 0;
}
static FixedDef_ptr _narrow(CORBA::Object_ptr);
static FixedDef_ptr _unchecked_narrow(CORBA::Object_ptr);
static FixedDef_ptr _narrow(CORBA::AbstractBase_ptr);
static FixedDef_ptr _unchecked_narrow(CORBA::AbstractBase_ptr);
static const char** _OB_staticIds();
virtual CORBA::UShort digits() = 0;
virtual void digits(CORBA::UShort) = 0;
virtual CORBA::Short scale() = 0;
virtual void scale(CORBA::Short) = 0;
};
class SequenceDef : virtual public ::CORBA::IDLType
{
SequenceDef(const SequenceDef&);
void operator=(const SequenceDef&);
protected:
static const char* ids_[];
public:
SequenceDef() { }
virtual ~SequenceDef() { }
typedef SequenceDef_ptr _ptr_type;
typedef SequenceDef_var _var_type;
static inline SequenceDef_ptr
_duplicate(SequenceDef_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline SequenceDef_ptr
_nil()
{
return 0;
}
static SequenceDef_ptr _narrow(CORBA::Object_ptr);
static SequenceDef_ptr _unchecked_narrow(CORBA::Object_ptr);
static SequenceDef_ptr _narrow(CORBA::AbstractBase_ptr);
static SequenceDef_ptr _unchecked_narrow(CORBA::AbstractBase_ptr);
static const char** _OB_staticIds();
virtual CORBA::ULong bound() = 0;
virtual void bound(CORBA::ULong) = 0;
virtual CORBA::TypeCode_ptr element_type() = 0;
virtual IDLType_ptr element_type_def() = 0;
virtual void element_type_def(IDLType_ptr) = 0;
};
class ArrayDef : virtual public ::CORBA::IDLType
{
ArrayDef(const ArrayDef&);
void operator=(const ArrayDef&);
protected:
static const char* ids_[];
public:
ArrayDef() { }
virtual ~ArrayDef() { }
typedef ArrayDef_ptr _ptr_type;
typedef ArrayDef_var _var_type;
static inline ArrayDef_ptr
_duplicate(ArrayDef_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline ArrayDef_ptr
_nil()
{
return 0;
}
static ArrayDef_ptr _narrow(CORBA::Object_ptr);
static ArrayDef_ptr _unchecked_narrow(CORBA::Object_ptr);
static ArrayDef_ptr _narrow(CORBA::AbstractBase_ptr);
static ArrayDef_ptr _unchecked_narrow(CORBA::AbstractBase_ptr);
static const char** _OB_staticIds();
virtual CORBA::ULong length() = 0;
virtual void length(CORBA::ULong) = 0;
virtual CORBA::TypeCode_ptr element_type() = 0;
virtual IDLType_ptr element_type_def() = 0;
virtual void element_type_def(IDLType_ptr) = 0;
};
}
namespace OBProxy_CORBA
{
class Repository : virtual public ::CORBA::Repository,
virtual public OBProxy_CORBA::Container
{
Repository(const Repository&);
void operator=(const Repository&);
protected:
virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();
public:
Repository() { }
virtual ~Repository() { }
virtual const char** _OB_ids() const;
::CORBA::Contained_ptr lookup_id(const char* search_id);
CORBA::TypeCode_ptr get_canonical_typecode(CORBA::TypeCode_ptr tc);
::CORBA::PrimitiveDef_ptr get_primitive(::CORBA::PrimitiveKind kind);
::CORBA::StringDef_ptr create_string(CORBA::ULong bound);
::CORBA::WstringDef_ptr create_wstring(CORBA::ULong bound);
::CORBA::SequenceDef_ptr create_sequence(CORBA::ULong bound,
::CORBA::IDLType_ptr element_type);
::CORBA::ArrayDef_ptr create_array(CORBA::ULong length,
::CORBA::IDLType_ptr element_type);
::CORBA::FixedDef_ptr create_fixed(CORBA::UShort digits,
CORBA::Short scale);
};
class ModuleDef : virtual public ::CORBA::ModuleDef,
virtual public OBProxy_CORBA::Container,
virtual public OBProxy_CORBA::Contained
{
ModuleDef(const ModuleDef&);
void operator=(const ModuleDef&);
protected:
virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();
public:
ModuleDef() { }
virtual ~ModuleDef() { }
virtual const char** _OB_ids() const;
};
class ConstantDef : virtual public ::CORBA::ConstantDef,
virtual public OBProxy_CORBA::Contained
{
ConstantDef(const ConstantDef&);
void operator=(const ConstantDef&);
protected:
virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();
public:
ConstantDef() { }
virtual ~ConstantDef() { }
virtual const char** _OB_ids() const;
CORBA::TypeCode_ptr type();
::CORBA::IDLType_ptr type_def();
void type_def(::CORBA::IDLType_ptr);
CORBA::Any* value();
void value(const CORBA::Any&);
};
class TypedefDef : virtual public ::CORBA::TypedefDef,
virtual public OBProxy_CORBA::Contained,
virtual public OBProxy_CORBA::IDLType
{
TypedefDef(const TypedefDef&);
void operator=(const TypedefDef&);
protected:
virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();
public:
TypedefDef() { }
virtual ~TypedefDef() { }
virtual const char** _OB_ids() const;
};
class StructDef : virtual public ::CORBA::StructDef,
virtual public OBProxy_CORBA::TypedefDef,
virtual public OBProxy_CORBA::Container
{
StructDef(const StructDef&);
void operator=(const StructDef&);
protected:
virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();
public:
StructDef() { }
virtual ~StructDef() { }
virtual const char** _OB_ids() const;
::CORBA::StructMemberSeq* members();
void members(const ::CORBA::StructMemberSeq&);
};
class UnionDef : virtual public ::CORBA::UnionDef,
virtual public OBProxy_CORBA::TypedefDef,
virtual public OBProxy_CORBA::Container
{
UnionDef(const UnionDef&);
void operator=(const UnionDef&);
protected:
virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();
public:
UnionDef() { }
virtual ~UnionDef() { }
virtual const char** _OB_ids() const;
CORBA::TypeCode_ptr discriminator_type();
::CORBA::IDLType_ptr discriminator_type_def();
void discriminator_type_def(::CORBA::IDLType_ptr);
::CORBA::UnionMemberSeq* members();
void members(const ::CORBA::UnionMemberSeq&);
};
class EnumDef : virtual public ::CORBA::EnumDef,
virtual public OBProxy_CORBA::TypedefDef
{
EnumDef(const EnumDef&);
void operator=(const EnumDef&);
protected:
virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();
public:
EnumDef() { }
virtual ~EnumDef() { }
virtual const char** _OB_ids() const;
::CORBA::EnumMemberSeq* members();
void members(const ::CORBA::EnumMemberSeq&);
};
class AliasDef : virtual public ::CORBA::AliasDef,
virtual public OBProxy_CORBA::TypedefDef
{
AliasDef(const AliasDef&);
void operator=(const AliasDef&);
protected:
virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();
public:
AliasDef() { }
virtual ~AliasDef() { }
virtual const char** _OB_ids() const;
::CORBA::IDLType_ptr original_type_def();
void original_type_def(::CORBA::IDLType_ptr);
};
class NativeDef : virtual public ::CORBA::NativeDef,
virtual public OBProxy_CORBA::TypedefDef
{
NativeDef(const NativeDef&);
void operator=(const NativeDef&);
protected:
virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();
public:
NativeDef() { }
virtual ~NativeDef() { }
virtual const char** _OB_ids() const;
};
class PrimitiveDef : virtual public ::CORBA::PrimitiveDef,
virtual public OBProxy_CORBA::IDLType
{
PrimitiveDef(const PrimitiveDef&);
void operator=(const PrimitiveDef&);
protected:
virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();
public:
PrimitiveDef() { }
virtual ~PrimitiveDef() { }
virtual const char** _OB_ids() const;
::CORBA::PrimitiveKind kind();
};
class StringDef : virtual public ::CORBA::StringDef,
virtual public OBProxy_CORBA::IDLType
{
StringDef(const StringDef&);
void operator=(const StringDef&);
protected:
virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();
public:
StringDef() { }
virtual ~StringDef() { }
virtual const char** _OB_ids() const;
CORBA::ULong bound();
void bound(CORBA::ULong);
};
class WstringDef : virtual public ::CORBA::WstringDef,
virtual public OBProxy_CORBA::IDLType
{
WstringDef(const WstringDef&);
void operator=(const WstringDef&);
protected:
virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();
public:
WstringDef() { }
virtual ~WstringDef() { }
virtual const char** _OB_ids() const;
CORBA::ULong bound();
void bound(CORBA::ULong);
};
class FixedDef : virtual public ::CORBA::FixedDef,
virtual public OBProxy_CORBA::IDLType
{
FixedDef(const FixedDef&);
void operator=(const FixedDef&);
protected:
virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();
public:
FixedDef() { }
virtual ~FixedDef() { }
virtual const char** _OB_ids() const;
CORBA::UShort digits();
void digits(CORBA::UShort);
CORBA::Short scale();
void scale(CORBA::Short);
};
class SequenceDef : virtual public ::CORBA::SequenceDef,
virtual public OBProxy_CORBA::IDLType
{
SequenceDef(const SequenceDef&);
void operator=(const SequenceDef&);
protected:
virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();
public:
SequenceDef() { }
virtual ~SequenceDef() { }
virtual const char** _OB_ids() const;
CORBA::ULong bound();
void bound(CORBA::ULong);
CORBA::TypeCode_ptr element_type();
::CORBA::IDLType_ptr element_type_def();
void element_type_def(::CORBA::IDLType_ptr);
};
class ArrayDef : virtual public ::CORBA::ArrayDef,
virtual public OBProxy_CORBA::IDLType
{
ArrayDef(const ArrayDef&);
void operator=(const ArrayDef&);
protected:
virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();
public:
ArrayDef() { }
virtual ~ArrayDef() { }
virtual const char** _OB_ids() const;
CORBA::ULong length();
void length(CORBA::ULong);
CORBA::TypeCode_ptr element_type();
::CORBA::IDLType_ptr element_type_def();
void element_type_def(::CORBA::IDLType_ptr);
};
}
namespace OBStubImpl_CORBA
{
class Repository : virtual public OBStubImpl_CORBA::Container
{
Repository(const Repository&);
void operator=(const Repository&);
protected:
Repository() { }
public:
static inline Repository_ptr
_duplicate(Repository_ptr p)
{
if(p)
p -> _OB_incRef();
return p;
}
static inline Repository_ptr
_nil()
{
return 0;
}
virtual ::CORBA::Contained_ptr lookup_id(const char* search_id) = 0;
virtual CORBA::TypeCode_ptr get_canonical_typecode(CORBA::TypeCode_ptr tc) = 0;
virtual ::CORBA::PrimitiveDef_ptr get_primitive(::CORBA::PrimitiveKind kind) = 0;
virtual ::CORBA::StringDef_ptr create_string(CORBA::ULong bound) = 0;
virtual ::CORBA::WstringDef_ptr create_wstring(CORBA::ULong bound) = 0;
virtual ::CORBA::SequenceDef_ptr create_sequence(CORBA::ULong bound,
::CORBA::IDLType_ptr element_type) = 0;
virtual ::CORBA::ArrayDef_ptr create_array(CORBA::ULong length,
::CORBA::IDLType_ptr element_type) = 0;
virtual ::CORBA::FixedDef_ptr create_fixed(CORBA::UShort digits,
CORBA::Short scale) = 0;
};
class ModuleDef : virtual public OBStubImpl_CORBA::Container,
virtual public OBStubImpl_CORBA::Contained
{
ModuleDef(const ModuleDef&);
void operator=(const ModuleDef&);
protected:
ModuleDef() { }
public:
static inline ModuleDef_ptr
_duplicate(ModuleDef_ptr p)
{
if(p)
p -> _OB_incRef();
return p;
}
static inline ModuleDef_ptr
_nil()
{
return 0;
}
};
class ConstantDef : virtual public OBStubImpl_CORBA::Contained
{
ConstantDef(const ConstantDef&);
void operator=(const ConstantDef&);
protected:
ConstantDef() { }
public:
static inline ConstantDef_ptr
_duplicate(ConstantDef_ptr p)
{
if(p)
p -> _OB_incRef();
return p;
}
static inline ConstantDef_ptr
_nil()
{
return 0;
}
virtual CORBA::TypeCode_ptr type() = 0;
virtual ::CORBA::IDLType_ptr type_def() = 0;
virtual void type_def(::CORBA::IDLType_ptr) = 0;
virtual CORBA::Any* value() = 0;
virtual void value(const CORBA::Any&) = 0;
};
class TypedefDef : virtual public OBStubImpl_CORBA::Contained,
virtual public OBStubImpl_CORBA::IDLType
{
TypedefDef(const TypedefDef&);
void operator=(const TypedefDef&);
protected:
TypedefDef() { }
public:
static inline TypedefDef_ptr
_duplicate(TypedefDef_ptr p)
{
if(p)
p -> _OB_incRef();
return p;
}
static inline TypedefDef_ptr
_nil()
{
return 0;
}
};
class StructDef : virtual public OBStubImpl_CORBA::TypedefDef,
virtual public OBStubImpl_CORBA::Container
{
StructDef(const StructDef&);
void operator=(const StructDef&);
protected:
StructDef() { }
public:
static inline StructDef_ptr
_duplicate(StructDef_ptr p)
{
if(p)
p -> _OB_incRef();
return p;
}
static inline StructDef_ptr
_nil()
{
return 0;
}
virtual ::CORBA::StructMemberSeq* members() = 0;
virtual void members(const ::CORBA::StructMemberSeq&) = 0;
};
class UnionDef : virtual public OBStubImpl_CORBA::TypedefDef,
virtual public OBStubImpl_CORBA::Container
{
UnionDef(const UnionDef&);
void operator=(const UnionDef&);
protected:
UnionDef() { }
public:
static inline UnionDef_ptr
_duplicate(UnionDef_ptr p)
{
if(p)
p -> _OB_incRef();
return p;
}
static inline UnionDef_ptr
_nil()
{
return 0;
}
virtual CORBA::TypeCode_ptr discriminator_type() = 0;
virtual ::CORBA::IDLType_ptr discriminator_type_def() = 0;
virtual void discriminator_type_def(::CORBA::IDLType_ptr) = 0;
virtual ::CORBA::UnionMemberSeq* members() = 0;
virtual void members(const ::CORBA::UnionMemberSeq&) = 0;
};
class EnumDef : virtual public OBStubImpl_CORBA::TypedefDef
{
EnumDef(const EnumDef&);
void operator=(const EnumDef&);
protected:
EnumDef() { }
public:
static inline EnumDef_ptr
_duplicate(EnumDef_ptr p)
{
if(p)
p -> _OB_incRef();
return p;
}
static inline EnumDef_ptr
_nil()
{
return 0;
}
virtual ::CORBA::EnumMemberSeq* members() = 0;
virtual void members(const ::CORBA::EnumMemberSeq&) = 0;
};
class AliasDef : virtual public OBStubImpl_CORBA::TypedefDef
{
AliasDef(const AliasDef&);
void operator=(const AliasDef&);
protected:
AliasDef() { }
public:
static inline AliasDef_ptr
_duplicate(AliasDef_ptr p)
{
if(p)
p -> _OB_incRef();
return p;
}
static inline AliasDef_ptr
_nil()
{
return 0;
}
virtual ::CORBA::IDLType_ptr original_type_def() = 0;
virtual void original_type_def(::CORBA::IDLType_ptr) = 0;
};
class NativeDef : virtual public OBStubImpl_CORBA::TypedefDef
{
NativeDef(const NativeDef&);
void operator=(const NativeDef&);
protected:
NativeDef() { }
public:
static inline NativeDef_ptr
_duplicate(NativeDef_ptr p)
{
if(p)
p -> _OB_incRef();
return p;
}
static inline NativeDef_ptr
_nil()
{
return 0;
}
};
class PrimitiveDef : virtual public OBStubImpl_CORBA::IDLType
{
PrimitiveDef(const PrimitiveDef&);
void operator=(const PrimitiveDef&);
protected:
PrimitiveDef() { }
public:
static inline PrimitiveDef_ptr
_duplicate(PrimitiveDef_ptr p)
{
if(p)
p -> _OB_incRef();
return p;
}
static inline PrimitiveDef_ptr
_nil()
{
return 0;
}
virtual ::CORBA::PrimitiveKind kind() = 0;
};
class StringDef : virtual public OBStubImpl_CORBA::IDLType
{
StringDef(const StringDef&);
void operator=(const StringDef&);
protected:
StringDef() { }
public:
static inline StringDef_ptr
_duplicate(StringDef_ptr p)
{
if(p)
p -> _OB_incRef();
return p;
}
static inline StringDef_ptr
_nil()
{
return 0;
}
virtual CORBA::ULong bound() = 0;
virtual void bound(CORBA::ULong) = 0;
};
class WstringDef : virtual public OBStubImpl_CORBA::IDLType
{
WstringDef(const WstringDef&);
void operator=(const WstringDef&);
protected:
WstringDef() { }
public:
static inline WstringDef_ptr
_duplicate(WstringDef_ptr p)
{
if(p)
p -> _OB_incRef();
return p;
}
static inline WstringDef_ptr
_nil()
{
return 0;
}
virtual CORBA::ULong bound() = 0;
virtual void bound(CORBA::ULong) = 0;
};
class FixedDef : virtual public OBStubImpl_CORBA::IDLType
{
FixedDef(const FixedDef&);
void operator=(const FixedDef&);
protected:
FixedDef() { }
public:
static inline FixedDef_ptr
_duplicate(FixedDef_ptr p)
{
if(p)
p -> _OB_incRef();
return p;
}
static inline FixedDef_ptr
_nil()
{
return 0;
}
virtual CORBA::UShort digits() = 0;
virtual void digits(CORBA::UShort) = 0;
virtual CORBA::Short scale() = 0;
virtual void scale(CORBA::Short) = 0;
};
class SequenceDef : virtual public OBStubImpl_CORBA::IDLType
{
SequenceDef(const SequenceDef&);
void operator=(const SequenceDef&);
protected:
SequenceDef() { }
public:
static inline SequenceDef_ptr
_duplicate(SequenceDef_ptr p)
{
if(p)
p -> _OB_incRef();
return p;
}
static inline SequenceDef_ptr
_nil()
{
return 0;
}
virtual CORBA::ULong bound() = 0;
virtual void bound(CORBA::ULong) = 0;
virtual CORBA::TypeCode_ptr element_type() = 0;
virtual ::CORBA::IDLType_ptr element_type_def() = 0;
virtual void element_type_def(::CORBA::IDLType_ptr) = 0;
};
class ArrayDef : virtual public OBStubImpl_CORBA::IDLType
{
ArrayDef(const ArrayDef&);
void operator=(const ArrayDef&);
protected:
ArrayDef() { }
public:
static inline ArrayDef_ptr
_duplicate(ArrayDef_ptr p)
{
if(p)
p -> _OB_incRef();
return p;
}
static inline ArrayDef_ptr
_nil()
{
return 0;
}
virtual CORBA::ULong length() = 0;
virtual void length(CORBA::ULong) = 0;
virtual CORBA::TypeCode_ptr element_type() = 0;
virtual ::CORBA::IDLType_ptr element_type_def() = 0;
virtual void element_type_def(::CORBA::IDLType_ptr) = 0;
};
}
namespace OBMarshalStubImpl_CORBA
{
class Repository : virtual public OBStubImpl_CORBA::Repository,
virtual public OBMarshalStubImpl_CORBA::Container
{
Repository(const Repository&);
void operator=(const Repository&);
protected:
Repository() { }
friend class OBProxy_CORBA::Repository;
public:
virtual ::CORBA::Contained_ptr lookup_id(const char* search_id);
virtual CORBA::TypeCode_ptr get_canonical_typecode(CORBA::TypeCode_ptr tc);
virtual ::CORBA::PrimitiveDef_ptr get_primitive(::CORBA::PrimitiveKind kind);
virtual ::CORBA::StringDef_ptr create_string(CORBA::ULong bound);
virtual ::CORBA::WstringDef_ptr create_wstring(CORBA::ULong bound);
virtual ::CORBA::SequenceDef_ptr create_sequence(CORBA::ULong bound,
::CORBA::IDLType_ptr element_type);
virtual ::CORBA::ArrayDef_ptr create_array(CORBA::ULong length,
::CORBA::IDLType_ptr element_type);
virtual ::CORBA::FixedDef_ptr create_fixed(CORBA::UShort digits,
CORBA::Short scale);
};
class ModuleDef : virtual public OBStubImpl_CORBA::ModuleDef,
virtual public OBMarshalStubImpl_CORBA::Container,
virtual public OBMarshalStubImpl_CORBA::Contained
{
ModuleDef(const ModuleDef&);
void operator=(const ModuleDef&);
protected:
ModuleDef() { }
friend class OBProxy_CORBA::ModuleDef;
public:
};
class ConstantDef : virtual public OBStubImpl_CORBA::ConstantDef,
virtual public OBMarshalStubImpl_CORBA::Contained
{
ConstantDef(const ConstantDef&);
void operator=(const ConstantDef&);
protected:
ConstantDef() { }
friend class OBProxy_CORBA::ConstantDef;
public:
virtual CORBA::TypeCode_ptr type();
virtual ::CORBA::IDLType_ptr type_def();
virtual void type_def(::CORBA::IDLType_ptr);
virtual CORBA::Any* value();
virtual void value(const CORBA::Any&);
};
class TypedefDef : virtual public OBStubImpl_CORBA::TypedefDef,
virtual public OBMarshalStubImpl_CORBA::Contained,
virtual public OBMarshalStubImpl_CORBA::IDLType
{
TypedefDef(const TypedefDef&);
void operator=(const TypedefDef&);
protected:
TypedefDef() { }
friend class OBProxy_CORBA::TypedefDef;
public:
};
class StructDef : virtual public OBStubImpl_CORBA::StructDef,
virtual public OBMarshalStubImpl_CORBA::TypedefDef,
virtual public OBMarshalStubImpl_CORBA::Container
{
StructDef(const StructDef&);
void operator=(const StructDef&);
protected:
StructDef() { }
friend class OBProxy_CORBA::StructDef;
public:
virtual ::CORBA::StructMemberSeq* members();
virtual void members(const ::CORBA::StructMemberSeq&);
};
class UnionDef : virtual public OBStubImpl_CORBA::UnionDef,
virtual public OBMarshalStubImpl_CORBA::TypedefDef,
virtual public OBMarshalStubImpl_CORBA::Container
{
UnionDef(const UnionDef&);
void operator=(const UnionDef&);
protected:
UnionDef() { }
friend class OBProxy_CORBA::UnionDef;
public:
virtual CORBA::TypeCode_ptr discriminator_type();
virtual ::CORBA::IDLType_ptr discriminator_type_def();
virtual void discriminator_type_def(::CORBA::IDLType_ptr);
virtual ::CORBA::UnionMemberSeq* members();
virtual void members(const ::CORBA::UnionMemberSeq&);
};
class EnumDef : virtual public OBStubImpl_CORBA::EnumDef,
virtual public OBMarshalStubImpl_CORBA::TypedefDef
{
EnumDef(const EnumDef&);
void operator=(const EnumDef&);
protected:
EnumDef() { }
friend class OBProxy_CORBA::EnumDef;
public:
virtual ::CORBA::EnumMemberSeq* members();
virtual void members(const ::CORBA::EnumMemberSeq&);
};
class AliasDef : virtual public OBStubImpl_CORBA::AliasDef,
virtual public OBMarshalStubImpl_CORBA::TypedefDef
{
AliasDef(const AliasDef&);
void operator=(const AliasDef&);
protected:
AliasDef() { }
friend class OBProxy_CORBA::AliasDef;
public:
virtual ::CORBA::IDLType_ptr original_type_def();
virtual void original_type_def(::CORBA::IDLType_ptr);
};
class NativeDef : virtual public OBStubImpl_CORBA::NativeDef,
virtual public OBMarshalStubImpl_CORBA::TypedefDef
{
NativeDef(const NativeDef&);
void operator=(const NativeDef&);
protected:
NativeDef() { }
friend class OBProxy_CORBA::NativeDef;
public:
};
class PrimitiveDef : virtual public OBStubImpl_CORBA::PrimitiveDef,
virtual public OBMarshalStubImpl_CORBA::IDLType
{
PrimitiveDef(const PrimitiveDef&);
void operator=(const PrimitiveDef&);
protected:
PrimitiveDef() { }
friend class OBProxy_CORBA::PrimitiveDef;
public:
virtual ::CORBA::PrimitiveKind kind();
};
class StringDef : virtual public OBStubImpl_CORBA::StringDef,
virtual public OBMarshalStubImpl_CORBA::IDLType
{
StringDef(const StringDef&);
void operator=(const StringDef&);
protected:
StringDef() { }
friend class OBProxy_CORBA::StringDef;
public:
virtual CORBA::ULong bound();
virtual void bound(CORBA::ULong);
};
class WstringDef : virtual public OBStubImpl_CORBA::WstringDef,
virtual public OBMarshalStubImpl_CORBA::IDLType
{
WstringDef(const WstringDef&);
void operator=(const WstringDef&);
protected:
WstringDef() { }
friend class OBProxy_CORBA::WstringDef;
public:
virtual CORBA::ULong bound();
virtual void bound(CORBA::ULong);
};
class FixedDef : virtual public OBStubImpl_CORBA::FixedDef,
virtual public OBMarshalStubImpl_CORBA::IDLType
{
FixedDef(const FixedDef&);
void operator=(const FixedDef&);
protected:
FixedDef() { }
friend class OBProxy_CORBA::FixedDef;
public:
virtual CORBA::UShort digits();
virtual void digits(CORBA::UShort);
virtual CORBA::Short scale();
virtual void scale(CORBA::Short);
};
class SequenceDef : virtual public OBStubImpl_CORBA::SequenceDef,
virtual public OBMarshalStubImpl_CORBA::IDLType
{
SequenceDef(const SequenceDef&);
void operator=(const SequenceDef&);
protected:
SequenceDef() { }
friend class OBProxy_CORBA::SequenceDef;
public:
virtual CORBA::ULong bound();
virtual void bound(CORBA::ULong);
virtual CORBA::TypeCode_ptr element_type();
virtual ::CORBA::IDLType_ptr element_type_def();
virtual void element_type_def(::CORBA::IDLType_ptr);
};
class ArrayDef : virtual public OBStubImpl_CORBA::ArrayDef,
virtual public OBMarshalStubImpl_CORBA::IDLType
{
ArrayDef(const ArrayDef&);
void operator=(const ArrayDef&);
protected:
ArrayDef() { }
friend class OBProxy_CORBA::ArrayDef;
public:
virtual CORBA::ULong length();
virtual void length(CORBA::ULong);
virtual CORBA::TypeCode_ptr element_type();
virtual ::CORBA::IDLType_ptr element_type_def();
virtual void element_type_def(::CORBA::IDLType_ptr);
};
}
namespace OBV_CORBA
{
}
void operator<<=(CORBA::Any&, CORBA::PrimitiveKind);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::PrimitiveKind&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::PrimitiveKind val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::PrimitiveKind& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::CORBA::Repository_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::CORBA::Repository_ptr p)
{
return p == 0;
}
inline void
release(OBStubImpl_CORBA::Repository_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(OBStubImpl_CORBA::Repository_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, CORBA::Repository_ptr*);
void operator<<=(CORBA::Any&, CORBA::Repository_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::Repository_ptr&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::Repository_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, CORBA::Repository_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::Repository_ptr& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::CORBA::ModuleDef_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::CORBA::ModuleDef_ptr p)
{
return p == 0;
}
inline void
release(OBStubImpl_CORBA::ModuleDef_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(OBStubImpl_CORBA::ModuleDef_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, CORBA::ModuleDef_ptr*);
void operator<<=(CORBA::Any&, CORBA::ModuleDef_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::ModuleDef_ptr&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::ModuleDef_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, CORBA::ModuleDef_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::ModuleDef_ptr& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::ModuleDescription*);
void operator<<=(CORBA::Any&, const CORBA::ModuleDescription&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::ModuleDescription*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::ModuleDescription* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::ModuleDescription& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::ModuleDescription*& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::CORBA::ConstantDef_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::CORBA::ConstantDef_ptr p)
{
return p == 0;
}
inline void
release(OBStubImpl_CORBA::ConstantDef_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(OBStubImpl_CORBA::ConstantDef_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, CORBA::ConstantDef_ptr*);
void operator<<=(CORBA::Any&, CORBA::ConstantDef_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::ConstantDef_ptr&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::ConstantDef_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, CORBA::ConstantDef_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::ConstantDef_ptr& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::ConstantDescription*);
void operator<<=(CORBA::Any&, const CORBA::ConstantDescription&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::ConstantDescription*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::ConstantDescription* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::ConstantDescription& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::ConstantDescription*& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::CORBA::TypedefDef_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::CORBA::TypedefDef_ptr p)
{
return p == 0;
}
inline void
release(OBStubImpl_CORBA::TypedefDef_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(OBStubImpl_CORBA::TypedefDef_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, CORBA::TypedefDef_ptr*);
void operator<<=(CORBA::Any&, CORBA::TypedefDef_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::TypedefDef_ptr&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::TypedefDef_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, CORBA::TypedefDef_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::TypedefDef_ptr& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::TypeDescription*);
void operator<<=(CORBA::Any&, const CORBA::TypeDescription&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::TypeDescription*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::TypeDescription* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::TypeDescription& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::TypeDescription*& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::CORBA::StructDef_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::CORBA::StructDef_ptr p)
{
return p == 0;
}
inline void
release(OBStubImpl_CORBA::StructDef_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(OBStubImpl_CORBA::StructDef_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, CORBA::StructDef_ptr*);
void operator<<=(CORBA::Any&, CORBA::StructDef_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::StructDef_ptr&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::StructDef_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, CORBA::StructDef_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::StructDef_ptr& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::CORBA::UnionDef_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::CORBA::UnionDef_ptr p)
{
return p == 0;
}
inline void
release(OBStubImpl_CORBA::UnionDef_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(OBStubImpl_CORBA::UnionDef_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, CORBA::UnionDef_ptr*);
void operator<<=(CORBA::Any&, CORBA::UnionDef_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::UnionDef_ptr&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::UnionDef_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, CORBA::UnionDef_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::UnionDef_ptr& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::CORBA::EnumDef_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::CORBA::EnumDef_ptr p)
{
return p == 0;
}
inline void
release(OBStubImpl_CORBA::EnumDef_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(OBStubImpl_CORBA::EnumDef_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, CORBA::EnumDef_ptr*);
void operator<<=(CORBA::Any&, CORBA::EnumDef_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::EnumDef_ptr&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::EnumDef_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, CORBA::EnumDef_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::EnumDef_ptr& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::CORBA::AliasDef_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::CORBA::AliasDef_ptr p)
{
return p == 0;
}
inline void
release(OBStubImpl_CORBA::AliasDef_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(OBStubImpl_CORBA::AliasDef_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, CORBA::AliasDef_ptr*);
void operator<<=(CORBA::Any&, CORBA::AliasDef_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::AliasDef_ptr&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::AliasDef_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, CORBA::AliasDef_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::AliasDef_ptr& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::CORBA::NativeDef_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::CORBA::NativeDef_ptr p)
{
return p == 0;
}
inline void
release(OBStubImpl_CORBA::NativeDef_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(OBStubImpl_CORBA::NativeDef_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, CORBA::NativeDef_ptr*);
void operator<<=(CORBA::Any&, CORBA::NativeDef_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::NativeDef_ptr&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::NativeDef_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, CORBA::NativeDef_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::NativeDef_ptr& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::CORBA::PrimitiveDef_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::CORBA::PrimitiveDef_ptr p)
{
return p == 0;
}
inline void
release(OBStubImpl_CORBA::PrimitiveDef_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(OBStubImpl_CORBA::PrimitiveDef_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, CORBA::PrimitiveDef_ptr*);
void operator<<=(CORBA::Any&, CORBA::PrimitiveDef_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::PrimitiveDef_ptr&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::PrimitiveDef_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, CORBA::PrimitiveDef_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::PrimitiveDef_ptr& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::CORBA::StringDef_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::CORBA::StringDef_ptr p)
{
return p == 0;
}
inline void
release(OBStubImpl_CORBA::StringDef_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(OBStubImpl_CORBA::StringDef_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, CORBA::StringDef_ptr*);
void operator<<=(CORBA::Any&, CORBA::StringDef_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::StringDef_ptr&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::StringDef_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, CORBA::StringDef_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::StringDef_ptr& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::CORBA::WstringDef_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::CORBA::WstringDef_ptr p)
{
return p == 0;
}
inline void
release(OBStubImpl_CORBA::WstringDef_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(OBStubImpl_CORBA::WstringDef_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, CORBA::WstringDef_ptr*);
void operator<<=(CORBA::Any&, CORBA::WstringDef_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::WstringDef_ptr&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::WstringDef_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, CORBA::WstringDef_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::WstringDef_ptr& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::CORBA::FixedDef_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::CORBA::FixedDef_ptr p)
{
return p == 0;
}
inline void
release(OBStubImpl_CORBA::FixedDef_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(OBStubImpl_CORBA::FixedDef_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, CORBA::FixedDef_ptr*);
void operator<<=(CORBA::Any&, CORBA::FixedDef_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::FixedDef_ptr&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::FixedDef_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, CORBA::FixedDef_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::FixedDef_ptr& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::CORBA::SequenceDef_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::CORBA::SequenceDef_ptr p)
{
return p == 0;
}
inline void
release(OBStubImpl_CORBA::SequenceDef_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(OBStubImpl_CORBA::SequenceDef_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, CORBA::SequenceDef_ptr*);
void operator<<=(CORBA::Any&, CORBA::SequenceDef_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::SequenceDef_ptr&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::SequenceDef_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, CORBA::SequenceDef_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::SequenceDef_ptr& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::CORBA::ArrayDef_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::CORBA::ArrayDef_ptr p)
{
return p == 0;
}
inline void
release(OBStubImpl_CORBA::ArrayDef_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(OBStubImpl_CORBA::ArrayDef_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, CORBA::ArrayDef_ptr*);
void operator<<=(CORBA::Any&, CORBA::ArrayDef_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::ArrayDef_ptr&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::ArrayDef_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, CORBA::ArrayDef_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::ArrayDef_ptr& val)
{
return any.in() >>= val;
}
# 30 "../../include/OB/IFR.h" 2
# 1 "../../include/OB/IFR4.h" 1
# 27 "../../include/OB/IFR4.h"
# 1 "../../include/OB/IFR2.h" 1
# 28 "../../include/OB/IFR4.h" 2
# 1 "../../include/OB/IFR3.h" 1
# 29 "../../include/OB/IFR4.h" 2
# 1 "../../include/OB/IFR4_fwd.h" 1
# 18 "../../include/OB/IFR4_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 19 "../../include/OB/IFR4_fwd.h" 2
# 39 "../../include/OB/IFR4_fwd.h"
namespace CORBA
{
class AbstractInterfaceDef;
typedef AbstractInterfaceDef* AbstractInterfaceDef_ptr;
typedef AbstractInterfaceDef* AbstractInterfaceDefRef;
extern OB::TypeCodeConst _tc_AbstractInterfaceDef;
class LocalInterfaceDef;
typedef LocalInterfaceDef* LocalInterfaceDef_ptr;
typedef LocalInterfaceDef* LocalInterfaceDefRef;
extern OB::TypeCodeConst _tc_LocalInterfaceDef;
class ValueMemberDef;
typedef ValueMemberDef* ValueMemberDef_ptr;
typedef ValueMemberDef* ValueMemberDefRef;
extern OB::TypeCodeConst _tc_ValueMemberDef;
class ValueDef;
typedef ValueDef* ValueDef_ptr;
typedef ValueDef* ValueDefRef;
extern OB::TypeCodeConst _tc_ValueDef;
class ValueBoxDef;
typedef ValueBoxDef* ValueBoxDef_ptr;
typedef ValueBoxDef* ValueBoxDefRef;
extern OB::TypeCodeConst _tc_ValueBoxDef;
}
void OBDuplicate(CORBA::AbstractInterfaceDef_ptr);
void OBRelease(CORBA::AbstractInterfaceDef_ptr);
void OBMarshal(CORBA::AbstractInterfaceDef_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::AbstractInterfaceDef_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::LocalInterfaceDef_ptr);
void OBRelease(CORBA::LocalInterfaceDef_ptr);
void OBMarshal(CORBA::LocalInterfaceDef_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::LocalInterfaceDef_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::ValueMemberDef_ptr);
void OBRelease(CORBA::ValueMemberDef_ptr);
void OBMarshal(CORBA::ValueMemberDef_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::ValueMemberDef_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::ValueDef_ptr);
void OBRelease(CORBA::ValueDef_ptr);
void OBMarshal(CORBA::ValueDef_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::ValueDef_ptr&, OB::InputStreamImpl*);
void OBDuplicate(CORBA::ValueBoxDef_ptr);
void OBRelease(CORBA::ValueBoxDef_ptr);
void OBMarshal(CORBA::ValueBoxDef_ptr, OB::OutputStreamImpl*);
void OBUnmarshal(CORBA::ValueBoxDef_ptr&, OB::InputStreamImpl*);
namespace CORBA
{
typedef OB::ObjVar< AbstractInterfaceDef > AbstractInterfaceDef_var;
typedef OB::ObjOut< AbstractInterfaceDef > AbstractInterfaceDef_out;
typedef OB::ObjVar< LocalInterfaceDef > LocalInterfaceDef_var;
typedef OB::ObjOut< LocalInterfaceDef > LocalInterfaceDef_out;
typedef OB::ObjVar< ValueMemberDef > ValueMemberDef_var;
typedef OB::ObjOut< ValueMemberDef > ValueMemberDef_out;
typedef OB::ObjVar< ValueDef > ValueDef_var;
typedef OB::ObjOut< ValueDef > ValueDef_out;
typedef OB::ObjVar< ValueBoxDef > ValueBoxDef_var;
typedef OB::ObjOut< ValueBoxDef > ValueBoxDef_out;
}
# 30 "../../include/OB/IFR4.h" 2
# 41 "../../include/OB/IFR4.h"
namespace OBStubImpl_CORBA
{
class AbstractInterfaceDef;
typedef AbstractInterfaceDef* AbstractInterfaceDef_ptr;
class LocalInterfaceDef;
typedef LocalInterfaceDef* LocalInterfaceDef_ptr;
class ValueMemberDef;
typedef ValueMemberDef* ValueMemberDef_ptr;
class ValueDef;
typedef ValueDef* ValueDef_ptr;
class ValueBoxDef;
typedef ValueBoxDef* ValueBoxDef_ptr;
}
void OBDuplicate(OBStubImpl_CORBA::AbstractInterfaceDef_ptr);
void OBRelease(OBStubImpl_CORBA::AbstractInterfaceDef_ptr);
void OBDuplicate(OBStubImpl_CORBA::LocalInterfaceDef_ptr);
void OBRelease(OBStubImpl_CORBA::LocalInterfaceDef_ptr);
void OBDuplicate(OBStubImpl_CORBA::ValueMemberDef_ptr);
void OBRelease(OBStubImpl_CORBA::ValueMemberDef_ptr);
void OBDuplicate(OBStubImpl_CORBA::ValueDef_ptr);
void OBRelease(OBStubImpl_CORBA::ValueDef_ptr);
void OBDuplicate(OBStubImpl_CORBA::ValueBoxDef_ptr);
void OBRelease(OBStubImpl_CORBA::ValueBoxDef_ptr);
namespace OBStubImpl_CORBA
{
typedef OB::ObjVar< AbstractInterfaceDef > AbstractInterfaceDef_var;
typedef OB::ObjVar< LocalInterfaceDef > LocalInterfaceDef_var;
typedef OB::ObjVar< ValueMemberDef > ValueMemberDef_var;
typedef OB::ObjVar< ValueDef > ValueDef_var;
typedef OB::ObjVar< ValueBoxDef > ValueBoxDef_var;
}
namespace CORBA
{
class AbstractInterfaceDef : virtual public ::CORBA::InterfaceDef
{
AbstractInterfaceDef(const AbstractInterfaceDef&);
void operator=(const AbstractInterfaceDef&);
protected:
static const char* ids_[];
public:
AbstractInterfaceDef() { }
virtual ~AbstractInterfaceDef() { }
typedef AbstractInterfaceDef_ptr _ptr_type;
typedef AbstractInterfaceDef_var _var_type;
static inline AbstractInterfaceDef_ptr
_duplicate(AbstractInterfaceDef_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline AbstractInterfaceDef_ptr
_nil()
{
return 0;
}
static AbstractInterfaceDef_ptr _narrow(CORBA::Object_ptr);
static AbstractInterfaceDef_ptr _unchecked_narrow(CORBA::Object_ptr);
static AbstractInterfaceDef_ptr _narrow(CORBA::AbstractBase_ptr);
static AbstractInterfaceDef_ptr _unchecked_narrow(CORBA::AbstractBase_ptr);
static const char** _OB_staticIds();
};
class LocalInterfaceDef : virtual public ::CORBA::InterfaceDef
{
LocalInterfaceDef(const LocalInterfaceDef&);
void operator=(const LocalInterfaceDef&);
protected:
static const char* ids_[];
public:
LocalInterfaceDef() { }
virtual ~LocalInterfaceDef() { }
typedef LocalInterfaceDef_ptr _ptr_type;
typedef LocalInterfaceDef_var _var_type;
static inline LocalInterfaceDef_ptr
_duplicate(LocalInterfaceDef_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline LocalInterfaceDef_ptr
_nil()
{
return 0;
}
static LocalInterfaceDef_ptr _narrow(CORBA::Object_ptr);
static LocalInterfaceDef_ptr _unchecked_narrow(CORBA::Object_ptr);
static LocalInterfaceDef_ptr _narrow(CORBA::AbstractBase_ptr);
static LocalInterfaceDef_ptr _unchecked_narrow(CORBA::AbstractBase_ptr);
static const char** _OB_staticIds();
};
class ValueMemberDef : virtual public ::CORBA::Contained
{
ValueMemberDef(const ValueMemberDef&);
void operator=(const ValueMemberDef&);
protected:
static const char* ids_[];
public:
ValueMemberDef() { }
virtual ~ValueMemberDef() { }
typedef ValueMemberDef_ptr _ptr_type;
typedef ValueMemberDef_var _var_type;
static inline ValueMemberDef_ptr
_duplicate(ValueMemberDef_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline ValueMemberDef_ptr
_nil()
{
return 0;
}
static ValueMemberDef_ptr _narrow(CORBA::Object_ptr);
static ValueMemberDef_ptr _unchecked_narrow(CORBA::Object_ptr);
static ValueMemberDef_ptr _narrow(CORBA::AbstractBase_ptr);
static ValueMemberDef_ptr _unchecked_narrow(CORBA::AbstractBase_ptr);
static const char** _OB_staticIds();
virtual CORBA::TypeCode_ptr type() = 0;
virtual IDLType_ptr type_def() = 0;
virtual void type_def(IDLType_ptr) = 0;
virtual Visibility access() = 0;
virtual void access(Visibility) = 0;
};
class ValueDef : virtual public ::CORBA::Container,
virtual public ::CORBA::Contained,
virtual public ::CORBA::IDLType
{
ValueDef(const ValueDef&);
void operator=(const ValueDef&);
protected:
static const char* ids_[];
public:
ValueDef() { }
virtual ~ValueDef() { }
typedef ValueDef_ptr _ptr_type;
typedef ValueDef_var _var_type;
static inline ValueDef_ptr
_duplicate(ValueDef_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline ValueDef_ptr
_nil()
{
return 0;
}
static ValueDef_ptr _narrow(CORBA::Object_ptr);
static ValueDef_ptr _unchecked_narrow(CORBA::Object_ptr);
static ValueDef_ptr _narrow(CORBA::AbstractBase_ptr);
static ValueDef_ptr _unchecked_narrow(CORBA::AbstractBase_ptr);
static const char** _OB_staticIds();
virtual InterfaceDefSeq* supported_interfaces() = 0;
virtual void supported_interfaces(const InterfaceDefSeq&) = 0;
virtual InitializerSeq* initializers() = 0;
virtual void initializers(const InitializerSeq&) = 0;
virtual ValueDef_ptr base_value() = 0;
virtual void base_value(ValueDef_ptr) = 0;
virtual ValueDefSeq* abstract_base_values() = 0;
virtual void abstract_base_values(const ValueDefSeq&) = 0;
virtual CORBA::Boolean is_abstract() = 0;
virtual void is_abstract(CORBA::Boolean) = 0;
virtual CORBA::Boolean is_custom() = 0;
virtual void is_custom(CORBA::Boolean) = 0;
virtual CORBA::Boolean is_truncatable() = 0;
virtual void is_truncatable(CORBA::Boolean) = 0;
virtual CORBA::Boolean is_a(const char* value_id) = 0;
struct FullValueDescription;
typedef OB::VarVar< FullValueDescription > FullValueDescription_var;
typedef OB::VarOut< FullValueDescription > FullValueDescription_out;
struct FullValueDescription
{
FullValueDescription() { }
FullValueDescription(const FullValueDescription&);
FullValueDescription& operator=(const FullValueDescription&);
typedef FullValueDescription_var _var_type;
OB::StrForStruct name;
OB::StrForStruct id;
CORBA::Boolean is_abstract;
CORBA::Boolean is_custom;
OB::StrForStruct defined_in;
OB::StrForStruct version;
OpDescriptionSeq operations;
AttrDescriptionSeq attributes;
ValueMemberSeq members;
InitializerSeq initializers;
RepositoryIdSeq supported_interfaces;
RepositoryIdSeq abstract_base_values;
CORBA::Boolean is_truncatable;
OB::StrForStruct base_value;
CORBA::TypeCode_var type;
void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(FullValueDescription&, OB::InputStreamImpl*);
};
static OB::TypeCodeConst _tc_FullValueDescription;
virtual FullValueDescription* describe_value() = 0;
virtual ValueMemberDef_ptr create_value_member(const char* id,
const char* name,
const char* version,
IDLType_ptr type,
Visibility access) = 0;
virtual AttributeDef_ptr create_attribute(const char* id,
const char* name,
const char* version,
IDLType_ptr type,
AttributeMode mode) = 0;
virtual OperationDef_ptr create_operation(const char* id,
const char* name,
const char* version,
IDLType_ptr result,
OperationMode mode,
const ParDescriptionSeq& params,
const ExceptionDefSeq& exceptions,
const ContextIdSeq& contexts) = 0;
};
struct ValueDescription;
typedef OB::VarVar< ValueDescription > ValueDescription_var;
typedef OB::VarOut< ValueDescription > ValueDescription_out;
struct ValueDescription
{
ValueDescription() { }
ValueDescription(const ValueDescription&);
ValueDescription& operator=(const ValueDescription&);
typedef ValueDescription_var _var_type;
OB::StrForStruct name;
OB::StrForStruct id;
CORBA::Boolean is_abstract;
CORBA::Boolean is_custom;
OB::StrForStruct defined_in;
OB::StrForStruct version;
RepositoryIdSeq supported_interfaces;
RepositoryIdSeq abstract_base_values;
CORBA::Boolean is_truncatable;
OB::StrForStruct base_value;
void _OB_marshal(OB::OutputStreamImpl*) const;
static void _OB_unmarshal(ValueDescription&, OB::InputStreamImpl*);
};
extern OB::TypeCodeConst _tc_ValueDescription;
class ValueBoxDef : virtual public ::CORBA::TypedefDef
{
ValueBoxDef(const ValueBoxDef&);
void operator=(const ValueBoxDef&);
protected:
static const char* ids_[];
public:
ValueBoxDef() { }
virtual ~ValueBoxDef() { }
typedef ValueBoxDef_ptr _ptr_type;
typedef ValueBoxDef_var _var_type;
static inline ValueBoxDef_ptr
_duplicate(ValueBoxDef_ptr p)
{
if(p)
p -> _add_ref();
return p;
}
static inline ValueBoxDef_ptr
_nil()
{
return 0;
}
static ValueBoxDef_ptr _narrow(CORBA::Object_ptr);
static ValueBoxDef_ptr _unchecked_narrow(CORBA::Object_ptr);
static ValueBoxDef_ptr _narrow(CORBA::AbstractBase_ptr);
static ValueBoxDef_ptr _unchecked_narrow(CORBA::AbstractBase_ptr);
static const char** _OB_staticIds();
virtual IDLType_ptr original_type_def() = 0;
virtual void original_type_def(IDLType_ptr) = 0;
};
}
namespace OBProxy_CORBA
{
class AbstractInterfaceDef : virtual public ::CORBA::AbstractInterfaceDef,
virtual public OBProxy_CORBA::InterfaceDef
{
AbstractInterfaceDef(const AbstractInterfaceDef&);
void operator=(const AbstractInterfaceDef&);
protected:
virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();
public:
AbstractInterfaceDef() { }
virtual ~AbstractInterfaceDef() { }
virtual const char** _OB_ids() const;
};
class LocalInterfaceDef : virtual public ::CORBA::LocalInterfaceDef,
virtual public OBProxy_CORBA::InterfaceDef
{
LocalInterfaceDef(const LocalInterfaceDef&);
void operator=(const LocalInterfaceDef&);
protected:
virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();
public:
LocalInterfaceDef() { }
virtual ~LocalInterfaceDef() { }
virtual const char** _OB_ids() const;
};
class ValueMemberDef : virtual public ::CORBA::ValueMemberDef,
virtual public OBProxy_CORBA::Contained
{
ValueMemberDef(const ValueMemberDef&);
void operator=(const ValueMemberDef&);
protected:
virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();
public:
ValueMemberDef() { }
virtual ~ValueMemberDef() { }
virtual const char** _OB_ids() const;
CORBA::TypeCode_ptr type();
::CORBA::IDLType_ptr type_def();
void type_def(::CORBA::IDLType_ptr);
::CORBA::Visibility access();
void access(::CORBA::Visibility);
};
class ValueDef : virtual public ::CORBA::ValueDef,
virtual public OBProxy_CORBA::Container,
virtual public OBProxy_CORBA::Contained,
virtual public OBProxy_CORBA::IDLType
{
ValueDef(const ValueDef&);
void operator=(const ValueDef&);
protected:
virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();
public:
ValueDef() { }
virtual ~ValueDef() { }
virtual const char** _OB_ids() const;
::CORBA::InterfaceDefSeq* supported_interfaces();
void supported_interfaces(const ::CORBA::InterfaceDefSeq&);
::CORBA::InitializerSeq* initializers();
void initializers(const ::CORBA::InitializerSeq&);
::CORBA::ValueDef_ptr base_value();
void base_value(::CORBA::ValueDef_ptr);
::CORBA::ValueDefSeq* abstract_base_values();
void abstract_base_values(const ::CORBA::ValueDefSeq&);
CORBA::Boolean is_abstract();
void is_abstract(CORBA::Boolean);
CORBA::Boolean is_custom();
void is_custom(CORBA::Boolean);
CORBA::Boolean is_truncatable();
void is_truncatable(CORBA::Boolean);
CORBA::Boolean is_a(const char* value_id);
::CORBA::ValueDef::FullValueDescription* describe_value();
::CORBA::ValueMemberDef_ptr create_value_member(const char* id,
const char* name,
const char* version,
::CORBA::IDLType_ptr type,
::CORBA::Visibility access);
::CORBA::AttributeDef_ptr create_attribute(const char* id,
const char* name,
const char* version,
::CORBA::IDLType_ptr type,
::CORBA::AttributeMode mode);
::CORBA::OperationDef_ptr create_operation(const char* id,
const char* name,
const char* version,
::CORBA::IDLType_ptr result,
::CORBA::OperationMode mode,
const ::CORBA::ParDescriptionSeq& params,
const ::CORBA::ExceptionDefSeq& exceptions,
const ::CORBA::ContextIdSeq& contexts);
};
class ValueBoxDef : virtual public ::CORBA::ValueBoxDef,
virtual public OBProxy_CORBA::TypedefDef
{
ValueBoxDef(const ValueBoxDef&);
void operator=(const ValueBoxDef&);
protected:
virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();
public:
ValueBoxDef() { }
virtual ~ValueBoxDef() { }
virtual const char** _OB_ids() const;
::CORBA::IDLType_ptr original_type_def();
void original_type_def(::CORBA::IDLType_ptr);
};
}
namespace OBStubImpl_CORBA
{
class AbstractInterfaceDef : virtual public OBStubImpl_CORBA::InterfaceDef
{
AbstractInterfaceDef(const AbstractInterfaceDef&);
void operator=(const AbstractInterfaceDef&);
protected:
AbstractInterfaceDef() { }
public:
static inline AbstractInterfaceDef_ptr
_duplicate(AbstractInterfaceDef_ptr p)
{
if(p)
p -> _OB_incRef();
return p;
}
static inline AbstractInterfaceDef_ptr
_nil()
{
return 0;
}
};
class LocalInterfaceDef : virtual public OBStubImpl_CORBA::InterfaceDef
{
LocalInterfaceDef(const LocalInterfaceDef&);
void operator=(const LocalInterfaceDef&);
protected:
LocalInterfaceDef() { }
public:
static inline LocalInterfaceDef_ptr
_duplicate(LocalInterfaceDef_ptr p)
{
if(p)
p -> _OB_incRef();
return p;
}
static inline LocalInterfaceDef_ptr
_nil()
{
return 0;
}
};
class ValueMemberDef : virtual public OBStubImpl_CORBA::Contained
{
ValueMemberDef(const ValueMemberDef&);
void operator=(const ValueMemberDef&);
protected:
ValueMemberDef() { }
public:
static inline ValueMemberDef_ptr
_duplicate(ValueMemberDef_ptr p)
{
if(p)
p -> _OB_incRef();
return p;
}
static inline ValueMemberDef_ptr
_nil()
{
return 0;
}
virtual CORBA::TypeCode_ptr type() = 0;
virtual ::CORBA::IDLType_ptr type_def() = 0;
virtual void type_def(::CORBA::IDLType_ptr) = 0;
virtual ::CORBA::Visibility access() = 0;
virtual void access(::CORBA::Visibility) = 0;
};
class ValueDef : virtual public OBStubImpl_CORBA::Container,
virtual public OBStubImpl_CORBA::Contained,
virtual public OBStubImpl_CORBA::IDLType
{
ValueDef(const ValueDef&);
void operator=(const ValueDef&);
protected:
ValueDef() { }
public:
static inline ValueDef_ptr
_duplicate(ValueDef_ptr p)
{
if(p)
p -> _OB_incRef();
return p;
}
static inline ValueDef_ptr
_nil()
{
return 0;
}
virtual ::CORBA::InterfaceDefSeq* supported_interfaces() = 0;
virtual void supported_interfaces(const ::CORBA::InterfaceDefSeq&) = 0;
virtual ::CORBA::InitializerSeq* initializers() = 0;
virtual void initializers(const ::CORBA::InitializerSeq&) = 0;
virtual ::CORBA::ValueDef_ptr base_value() = 0;
virtual void base_value(::CORBA::ValueDef_ptr) = 0;
virtual ::CORBA::ValueDefSeq* abstract_base_values() = 0;
virtual void abstract_base_values(const ::CORBA::ValueDefSeq&) = 0;
virtual CORBA::Boolean is_abstract() = 0;
virtual void is_abstract(CORBA::Boolean) = 0;
virtual CORBA::Boolean is_custom() = 0;
virtual void is_custom(CORBA::Boolean) = 0;
virtual CORBA::Boolean is_truncatable() = 0;
virtual void is_truncatable(CORBA::Boolean) = 0;
virtual CORBA::Boolean is_a(const char* value_id) = 0;
virtual ::CORBA::ValueDef::FullValueDescription* describe_value() = 0;
virtual ::CORBA::ValueMemberDef_ptr create_value_member(const char* id,
const char* name,
const char* version,
::CORBA::IDLType_ptr type,
::CORBA::Visibility access) = 0;
virtual ::CORBA::AttributeDef_ptr create_attribute(const char* id,
const char* name,
const char* version,
::CORBA::IDLType_ptr type,
::CORBA::AttributeMode mode) = 0;
virtual ::CORBA::OperationDef_ptr create_operation(const char* id,
const char* name,
const char* version,
::CORBA::IDLType_ptr result,
::CORBA::OperationMode mode,
const ::CORBA::ParDescriptionSeq& params,
const ::CORBA::ExceptionDefSeq& exceptions,
const ::CORBA::ContextIdSeq& contexts) = 0;
};
class ValueBoxDef : virtual public OBStubImpl_CORBA::TypedefDef
{
ValueBoxDef(const ValueBoxDef&);
void operator=(const ValueBoxDef&);
protected:
ValueBoxDef() { }
public:
static inline ValueBoxDef_ptr
_duplicate(ValueBoxDef_ptr p)
{
if(p)
p -> _OB_incRef();
return p;
}
static inline ValueBoxDef_ptr
_nil()
{
return 0;
}
virtual ::CORBA::IDLType_ptr original_type_def() = 0;
virtual void original_type_def(::CORBA::IDLType_ptr) = 0;
};
}
namespace OBMarshalStubImpl_CORBA
{
class AbstractInterfaceDef : virtual public OBStubImpl_CORBA::AbstractInterfaceDef,
virtual public OBMarshalStubImpl_CORBA::InterfaceDef
{
AbstractInterfaceDef(const AbstractInterfaceDef&);
void operator=(const AbstractInterfaceDef&);
protected:
AbstractInterfaceDef() { }
friend class OBProxy_CORBA::AbstractInterfaceDef;
public:
};
class LocalInterfaceDef : virtual public OBStubImpl_CORBA::LocalInterfaceDef,
virtual public OBMarshalStubImpl_CORBA::InterfaceDef
{
LocalInterfaceDef(const LocalInterfaceDef&);
void operator=(const LocalInterfaceDef&);
protected:
LocalInterfaceDef() { }
friend class OBProxy_CORBA::LocalInterfaceDef;
public:
};
class ValueMemberDef : virtual public OBStubImpl_CORBA::ValueMemberDef,
virtual public OBMarshalStubImpl_CORBA::Contained
{
ValueMemberDef(const ValueMemberDef&);
void operator=(const ValueMemberDef&);
protected:
ValueMemberDef() { }
friend class OBProxy_CORBA::ValueMemberDef;
public:
virtual CORBA::TypeCode_ptr type();
virtual ::CORBA::IDLType_ptr type_def();
virtual void type_def(::CORBA::IDLType_ptr);
virtual ::CORBA::Visibility access();
virtual void access(::CORBA::Visibility);
};
class ValueDef : virtual public OBStubImpl_CORBA::ValueDef,
virtual public OBMarshalStubImpl_CORBA::Container,
virtual public OBMarshalStubImpl_CORBA::Contained,
virtual public OBMarshalStubImpl_CORBA::IDLType
{
ValueDef(const ValueDef&);
void operator=(const ValueDef&);
protected:
ValueDef() { }
friend class OBProxy_CORBA::ValueDef;
public:
virtual ::CORBA::InterfaceDefSeq* supported_interfaces();
virtual void supported_interfaces(const ::CORBA::InterfaceDefSeq&);
virtual ::CORBA::InitializerSeq* initializers();
virtual void initializers(const ::CORBA::InitializerSeq&);
virtual ::CORBA::ValueDef_ptr base_value();
virtual void base_value(::CORBA::ValueDef_ptr);
virtual ::CORBA::ValueDefSeq* abstract_base_values();
virtual void abstract_base_values(const ::CORBA::ValueDefSeq&);
virtual CORBA::Boolean is_abstract();
virtual void is_abstract(CORBA::Boolean);
virtual CORBA::Boolean is_custom();
virtual void is_custom(CORBA::Boolean);
virtual CORBA::Boolean is_truncatable();
virtual void is_truncatable(CORBA::Boolean);
virtual CORBA::Boolean is_a(const char* value_id);
virtual ::CORBA::ValueDef::FullValueDescription* describe_value();
virtual ::CORBA::ValueMemberDef_ptr create_value_member(const char* id,
const char* name,
const char* version,
::CORBA::IDLType_ptr type,
::CORBA::Visibility access);
virtual ::CORBA::AttributeDef_ptr create_attribute(const char* id,
const char* name,
const char* version,
::CORBA::IDLType_ptr type,
::CORBA::AttributeMode mode);
virtual ::CORBA::OperationDef_ptr create_operation(const char* id,
const char* name,
const char* version,
::CORBA::IDLType_ptr result,
::CORBA::OperationMode mode,
const ::CORBA::ParDescriptionSeq& params,
const ::CORBA::ExceptionDefSeq& exceptions,
const ::CORBA::ContextIdSeq& contexts);
};
class ValueBoxDef : virtual public OBStubImpl_CORBA::ValueBoxDef,
virtual public OBMarshalStubImpl_CORBA::TypedefDef
{
ValueBoxDef(const ValueBoxDef&);
void operator=(const ValueBoxDef&);
protected:
ValueBoxDef() { }
friend class OBProxy_CORBA::ValueBoxDef;
public:
virtual ::CORBA::IDLType_ptr original_type_def();
virtual void original_type_def(::CORBA::IDLType_ptr);
};
}
namespace OBV_CORBA
{
}
namespace CORBA
{
inline void
release(::CORBA::AbstractInterfaceDef_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::CORBA::AbstractInterfaceDef_ptr p)
{
return p == 0;
}
inline void
release(OBStubImpl_CORBA::AbstractInterfaceDef_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(OBStubImpl_CORBA::AbstractInterfaceDef_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, CORBA::AbstractInterfaceDef_ptr*);
void operator<<=(CORBA::Any&, CORBA::AbstractInterfaceDef_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::AbstractInterfaceDef_ptr&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::AbstractInterfaceDef_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, CORBA::AbstractInterfaceDef_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::AbstractInterfaceDef_ptr& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::CORBA::LocalInterfaceDef_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::CORBA::LocalInterfaceDef_ptr p)
{
return p == 0;
}
inline void
release(OBStubImpl_CORBA::LocalInterfaceDef_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(OBStubImpl_CORBA::LocalInterfaceDef_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, CORBA::LocalInterfaceDef_ptr*);
void operator<<=(CORBA::Any&, CORBA::LocalInterfaceDef_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::LocalInterfaceDef_ptr&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::LocalInterfaceDef_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, CORBA::LocalInterfaceDef_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::LocalInterfaceDef_ptr& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::CORBA::ValueMemberDef_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::CORBA::ValueMemberDef_ptr p)
{
return p == 0;
}
inline void
release(OBStubImpl_CORBA::ValueMemberDef_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(OBStubImpl_CORBA::ValueMemberDef_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, CORBA::ValueMemberDef_ptr*);
void operator<<=(CORBA::Any&, CORBA::ValueMemberDef_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::ValueMemberDef_ptr&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::ValueMemberDef_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, CORBA::ValueMemberDef_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::ValueMemberDef_ptr& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::CORBA::ValueDef_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::CORBA::ValueDef_ptr p)
{
return p == 0;
}
inline void
release(OBStubImpl_CORBA::ValueDef_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(OBStubImpl_CORBA::ValueDef_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, CORBA::ValueDef_ptr*);
void operator<<=(CORBA::Any&, CORBA::ValueDef_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::ValueDef_ptr&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::ValueDef_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, CORBA::ValueDef_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::ValueDef_ptr& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::ValueDef::FullValueDescription*);
void operator<<=(CORBA::Any&, const CORBA::ValueDef::FullValueDescription&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::ValueDef::FullValueDescription*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::ValueDef::FullValueDescription* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::ValueDef::FullValueDescription& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::ValueDef::FullValueDescription*& val)
{
return any.in() >>= val;
}
void operator<<=(CORBA::Any&, CORBA::ValueDescription*);
void operator<<=(CORBA::Any&, const CORBA::ValueDescription&);
CORBA::Boolean operator>>=(const CORBA::Any&, const CORBA::ValueDescription*&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::ValueDescription* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, const CORBA::ValueDescription& val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, const CORBA::ValueDescription*& val)
{
return any.in() >>= val;
}
namespace CORBA
{
inline void
release(::CORBA::ValueBoxDef_ptr p)
{
if(p)
p -> _remove_ref();
}
inline Boolean
is_nil(::CORBA::ValueBoxDef_ptr p)
{
return p == 0;
}
inline void
release(OBStubImpl_CORBA::ValueBoxDef_ptr p)
{
if(p)
p -> _OB_decRef();
}
inline Boolean
is_nil(OBStubImpl_CORBA::ValueBoxDef_ptr p)
{
return p == 0;
}
}
void operator<<=(CORBA::Any&, CORBA::ValueBoxDef_ptr*);
void operator<<=(CORBA::Any&, CORBA::ValueBoxDef_ptr);
CORBA::Boolean operator>>=(const CORBA::Any&, CORBA::ValueBoxDef_ptr&);
inline void
operator<<=(CORBA::Any_var& any, CORBA::ValueBoxDef_ptr* val)
{
any.inout() <<= val;
}
inline void
operator<<=(CORBA::Any_var& any, CORBA::ValueBoxDef_ptr val)
{
any.inout() <<= val;
}
inline CORBA::Boolean
operator>>=(const CORBA::Any_var& any, CORBA::ValueBoxDef_ptr& val)
{
return any.in() >>= val;
}
# 31 "../../include/OB/IFR.h" 2
# 1 "../../include/OB/IFR_fwd.h" 1
# 18 "../../include/OB/IFR_fwd.h"
# 1 "../../include/OB/Template.h" 1
# 19 "../../include/OB/IFR_fwd.h" 2
# 32 "../../include/OB/IFR.h" 2
# 13 "GenCPPSkelH.cpp" 2
# 1 "../../include/OB/Hashtable.h" 1
# 14 "GenCPPSkelH.cpp" 2
# 1 "Util.h" 1
# 17 "Util.h"
typedef OB::Hashtable< CORBA::RepositoryId_var, CORBA::String_var,
OB::StringHasher> IdlStringHash;
void IdlAddEscapes(char*&, bool);
char* IdlAddEscapes(const wchar_t*, bool);
bool IdlRemoveEscapes(char*&, bool);
bool IdlRemoveEscapes(const char*, wchar_t*&, bool);
extern bool IdlCaseSensitive;
int IdlStringCompare(const char*, const char*);
bool IdlIsMarshallable(CORBA::TypeCode_ptr);
# 16 "GenCPPSkelH.cpp" 2
# 1 "GenUtil.h" 1
# 26 "GenUtil.h"
namespace OB
{
template<class T> class list;
}
class IdlPrettyPrint
{
std::ostream& out_;
unsigned int _ob_num_;
protected:
unsigned int indent_;
unsigned int pos_;
bool ignoreNextSep_;
bool emitIndent_;
virtual void nl();
virtual void indent();
public:
IdlPrettyPrint(std::ostream& out, unsigned int num = 4)
: out_(out), _ob_num_(num), indent_(0), pos_(0),
ignoreNextSep_(false), emitIndent_(true) { }
virtual ~IdlPrettyPrint() { }
void setIndent(unsigned int in) { indent_ = in; }
unsigned int getIndent() const { return indent_; }
unsigned int getPos() const { return pos_; }
void setPos(unsigned int pos) { pos_ = pos; }
void inc() { indent_ += _ob_num_; }
void dec() { (static_cast<void> ((indent_ >= _ob_num_) ? 0 : (__assert_fail ("indent_ >= _ob_num_", "GenUtil.h", 77, __PRETTY_FUNCTION__), 0))); indent_ -= _ob_num_; }
void direct(char c) { out_ << c; }
void direct(const char* s) { out_ << s; }
virtual void lineBreak();
virtual void lineStart();
virtual void start();
virtual void end();
virtual void sep();
virtual void ignoreNextSep();
virtual void printChar(char);
virtual void printWChar(wchar_t);
virtual void printString(const char*);
virtual void printWString(const wchar_t*);
};
IdlPrettyPrint& operator<<(IdlPrettyPrint&, char);
IdlPrettyPrint& operator<<(IdlPrettyPrint&, wchar_t);
IdlPrettyPrint& operator<<(IdlPrettyPrint&, const char*);
IdlPrettyPrint& operator<<(IdlPrettyPrint&, const wchar_t*);
IdlPrettyPrint& operator<<(IdlPrettyPrint&, short);
IdlPrettyPrint& operator<<(IdlPrettyPrint&, int);
IdlPrettyPrint& operator<<(IdlPrettyPrint&, long);
IdlPrettyPrint& operator<<(IdlPrettyPrint&, CORBA::LongLong);
IdlPrettyPrint& operator<<(IdlPrettyPrint&, unsigned short);
IdlPrettyPrint& operator<<(IdlPrettyPrint&, unsigned int);
IdlPrettyPrint& operator<<(IdlPrettyPrint&, unsigned long);
IdlPrettyPrint& operator<<(IdlPrettyPrint&, CORBA::ULongLong);
IdlPrettyPrint& operator<<(IdlPrettyPrint&, float);
IdlPrettyPrint& operator<<(IdlPrettyPrint&, double);
IdlPrettyPrint& operator<<(IdlPrettyPrint&, CORBA::LongDouble);
void IdlRemoveScope(const char*, char*&, bool = false);
CORBA::IDLType_ptr IdlGetOrigIDLType(CORBA::IDLType_ptr);
bool IdlIsVariable(CORBA::TypeCode_ptr);
bool IdlHasNative(CORBA::TypeCode_ptr);
bool IdlHasNative(const CORBA::InterfaceDef::FullInterfaceDescription&);
bool IdlHasValuetype(CORBA::TypeCode_ptr);
char* IdlGetAsciiTypeCode(CORBA::TypeCode_ptr);
void IdlOutputAsciiTypeCode(CORBA::TypeCode_ptr, IdlPrettyPrint&);
char* IdlPathToIdent(const char*);
bool IdlImplicitUnionDefault(CORBA::TypeCode_ptr);
struct IdlUnionMemberInfo
{
CORBA::String_var name;
CORBA::TypeCode_var type;
CORBA::ULongLongSeq pLabels;
CORBA::ULongLongSeq nLabels;
CORBA::AnySeq labels;
bool isDefault;
};
typedef OB::VarSeq< IdlUnionMemberInfo, int > IdlUnionMemberInfoSeq;
typedef OB::SeqVar< OB::VarSeq< IdlUnionMemberInfo, int > >
IdlUnionMemberInfoSeq_var;
typedef OB::VarVar<OB::stl::list<IdlUnionMemberInfo> >
IdlUnionMemberInfoList_var;
OB::stl::list<IdlUnionMemberInfo>* IdlGetUnionInfo(CORBA::TypeCode_ptr);
void IdlGetAllBaseInterfaces(CORBA::InterfaceDef_ptr, CORBA::InterfaceDefSeq&);
struct IdlInterfaceInfo
{
CORBA::InterfaceDef_var intf;
CORBA::RepositoryId_var id;
bool is_abstract;
bool is_local;
};
typedef OB::VarSeq< IdlInterfaceInfo, int > IdlInterfaceInfoSeq;
void IdlGetBaseInterfaces(CORBA::InterfaceDef_ptr, IdlInterfaceInfoSeq&, bool);
void IdlGetAllBaseValues(CORBA::ValueDef_ptr, CORBA::ValueDefSeq&);
void IdlGetAllTruncatableBaseValues(CORBA::ValueDef_ptr, CORBA::ValueDefSeq&);
void IdlGetAllValueMembers(CORBA::ValueDef_ptr, CORBA::ValueMemberSeq&);
struct IdlSupportedInterfaceInfo
{
IdlInterfaceInfo interface_info;
bool abstract_value;
CORBA::RepositoryId_var value_id;
CORBA::ULong inheritance_level;
};
typedef OB::VarSeq< IdlSupportedInterfaceInfo, int >
IdlSupportedInterfaceInfoSeq;
void IdlGetAllSupportedInterfaces(CORBA::ValueDef_ptr,
IdlSupportedInterfaceInfoSeq&,
CORBA::ULong&);
char* IdlGetPrimarySupportedInterface(const IdlSupportedInterfaceInfoSeq&);
bool IdlCheckValueSupportsAbstractInterface(CORBA::ValueDef_ptr);
CORBA::StringSeq* IdlGetMethodNames(const CORBA::ContainedSeq&,
const CORBA::ContainedSeq&);
struct IdlNameValuePair
{
CORBA::String_var name;
CORBA::Any value;
};
typedef OB::VarSeq< IdlNameValuePair, int > IdlNameValuePairSeq;
typedef OB::SeqVar< OB::VarSeq< IdlNameValuePair, int > >
IdlNameValuePairSeq_var;
IdlNameValuePairSeq*
IdlGetMethodNamesAndDescriptions(const CORBA::ContainedSeq&,
const CORBA::ContainedSeq&);
IdlNameValuePairSeq*
IdlGetAbstractMethods(CORBA::InterfaceDef_ptr);
# 17 "GenCPPSkelH.cpp" 2
# 1 "GenCPP.h" 1
# 17 "GenCPP.h"
class IdlPrettyPrint;
namespace OB
{
template<class T> class list;
}
class IdlCPPGenerator
{
static const char* header_;
static const char* embeddedHeader_;
const char* prog_;
CORBA::ORB_var orb_;
CORBA::Repository_var repository_;
bool all_;
const IdlStringHash& idHash_;
const IdlStringHash& fwdHash_;
const CORBA::StringSeq& includeSeq_;
OB::stl::list<CORBA::String_var>& fileNameList_;
bool noTC_;
bool noVirtual_;
bool noSkel_;
bool withInterceptorArgs_;
bool noLocalCopy_;
bool embedded_;
bool noDirectStubs_;
CORBA::String_var thisHeaderDir_;
CORBA::String_var otherHeaderDir_;
CORBA::String_var dllImport_;
CORBA::String_var hSuff_;
CORBA::String_var cSuff_;
CORBA::String_var stubSuff_;
CORBA::String_var skelSuff_;
typedef OB::Hashtable<CORBA::String_var,
CORBA::Container::DescriptionSeq*,
OB::StringHasher> DescriptionMap;
DescriptionMap descriptionMap_;
typedef OB::Hashtable<CORBA::String_var, CORBA::String_var,
OB::StringHasher> StringMap;
StringMap absMap_;
StringMap uniMap_;
void checkVersion(std::ostream&);
void comment(const char*, IdlPrettyPrint&);
char* fixKwd(const char*);
enum GetType
{
GetTypeNormal,
GetTypePtr,
GetTypeRef,
GetTypeVar,
GetTypeStruct,
GetTypeArray,
GetTypeSlice,
GetTypeForAny,
GetTypeIn,
GetTypeOut,
GetTypeInOut,
GetTypeReturn,
GetTypeConst,
GetTypeInNoCopy
};
char* getTypeStringHelper(const char*, CORBA::TypeCode_ptr,
GetType = GetTypeNormal, bool = false,
const char* = 0, const char* = 0, bool = false);
char* getTypeString(const char*, CORBA::TypeCode_ptr,
GetType = GetTypeNormal, bool = false,
const char* = 0, const char* = 0);
char* getScopedTypeString(const char*, CORBA::TypeCode_ptr,
GetType = GetTypeNormal, bool = false,
const char* = 0, const char* = 0);
void getArrayType(CORBA::TypeCode_ptr, CORBA::TypeCode_ptr&,
CORBA::ULong&);
bool isTypeCodeExtern(CORBA::Container_ptr);
bool needUniqueType(CORBA::TypeCode_ptr);
enum RW
{
RWReadReturn,
RWReadOut,
RWReadInOut,
RWReadStructElem,
RWReadUnionElem,
RWWriteIn,
RWWriteInOut,
RWReadInNoCopy
};
void writeReadWrite(const char*, CORBA::TypeCode_ptr, const char*,
CORBA::ULong&, RW, const char*, IdlPrettyPrint&);
void writeArrayCopy(const char*, CORBA::TypeCode_ptr, const char*,
const char*, const char*, const char*,
IdlPrettyPrint&);
void writeArrayAlloc(const char*, CORBA::TypeCode_ptr, const char*,
const char*, IdlPrettyPrint&);
void writeArrayDup(const char*, CORBA::TypeCode_ptr, const char*,
const char*, const char*, const char*, IdlPrettyPrint&);
void writeArrayFree(const char*, CORBA::TypeCode_ptr, const char*,
const char*, IdlPrettyPrint&);
void writeValueMemberUnmarshal(const char*, const char*, const char*,
const char*, CORBA::TypeCode_ptr,
CORBA::ULong&, IdlPrettyPrint&);
void writeConstantValue(const char*, const CORBA::Any&, IdlPrettyPrint&);
bool check(const char*);
bool checkFwd(const char*);
# 301 "GenCPP.h"
char* getAbsolute(CORBA::Contained_ptr, const char* = 0, bool = false);
char* getAbsolute(const char*, const char* = 0, bool = false);
char* getUnique(CORBA::Contained_ptr);
char* getUnique(const char*);
char* overwriteUnique(const char*, CORBA::TypeCode_ptr, const char*);
enum OBParameterMode
{
PARAM_MARSHAL = -1
};
void getAddrMode(CORBA::TypeCode_ptr, CORBA::ParameterMode,
char*&, char*&, bool, bool);
char* getTypeCodeConstName(CORBA::TypeCode_ptr);
void writeTypeCodeConst(const char*, const char*, CORBA::TypeCode_ptr,
IdlPrettyPrint&);
void writeParameterDesc(CORBA::TypeCode_ptr, IdlPrettyPrint&);
void writeParameterDesc(CORBA::TypeCode_ptr, CORBA::ParameterMode,
CORBA::ULong, IdlPrettyPrint&,
bool = false, bool = false, bool = false);
void writeConstructedInfo(CORBA::TypeCode_ptr, IdlPrettyPrint&);
void writeConstructedInfo(CORBA::TypeCode_ptr, CORBA::ULong,
IdlPrettyPrint&, bool = false);
bool isTopLevel(CORBA::Contained_ptr);
char* getScope(CORBA::Container_ptr);
# 369 "GenCPP.h"
CORBA::Container::DescriptionSeq* describe(CORBA::Container_ptr, char*&);
# 378 "GenCPP.h"
char* getPrefixedName(const char*, CORBA::Contained_ptr, const char* = 0);
# 387 "GenCPP.h"
char* getPrefixedAbsolute(const char*, const char*, const char*,
const char* = 0);
char* getPrefixedAbsolute(const char*, CORBA::Contained_ptr, const char*,
const char* = 0);
char* getFlattenedName(const char*);
void printUnionLabels(const char*, const char*, CORBA::TCKind,
const IdlUnionMemberInfo&, bool, IdlPrettyPrint&);
void genCPlusPlusFwdH(CORBA::Container_ptr, IdlPrettyPrint&);
void genCPlusPlusFwdHGlobalNamespace(CORBA::Container_ptr,
IdlPrettyPrint&);
void genCPlusPlusFwdHVar(CORBA::Container_ptr, IdlPrettyPrint&);
void genCPlusPlusFwdHStubImpl(CORBA::Container_ptr, IdlPrettyPrint&);
void genCPlusPlusFwdHStubImplGlobalNamespace(CORBA::Container_ptr,
IdlPrettyPrint&);
void genCPlusPlusFwdHStubImplVar(CORBA::Container_ptr, IdlPrettyPrint&);
void genCPlusPlusFwdHMarshalStubImpl(CORBA::Container_ptr,
IdlPrettyPrint&);
void genCPlusPlusH(CORBA::Container_ptr, IdlPrettyPrint&);
void genCPlusPlusHProxy(CORBA::Container_ptr, IdlPrettyPrint&);
void genCPlusPlusHStubImpl(CORBA::Container_ptr, IdlPrettyPrint&);
void genCPlusPlusHMarshalStubImpl(CORBA::Container_ptr, IdlPrettyPrint&);
void genCPlusPlusHGlobalNamespace(CORBA::Container_ptr, IdlPrettyPrint&);
void genCPlusPlusHOBV(CORBA::Container_ptr, IdlPrettyPrint&);
void genCPlusPlusHValueMember(CORBA::Container_ptr,
const CORBA::ValueMember*,
const char*, bool, IdlPrettyPrint&);
void genCPlusPlusHValueFactory(CORBA::ValueDef_ptr, IdlPrettyPrint&);
void genCPlusPlusHValueBoxFactory(const CORBA::TypeDescription*,
IdlPrettyPrint&);
enum Virtuality
{
NotVirtual,
Virtual,
PureVirtual
};
void genCPlusPlusHAttribute(CORBA::Container::Description&, const char*,
bool, Virtuality, IdlPrettyPrint&);
void genCPlusPlusHOperation(CORBA::Container::Description&, const char*,
bool, Virtuality, IdlPrettyPrint&);
void genCPlusPlusHValueMembers(CORBA::Container_ptr,
CORBA::Visibility,
IdlPrettyPrint&);
void genCPlusPlusHBasicBox(CORBA::ValueBoxDef_ptr, const char*,
const char*, const CORBA::TypeDescription*,
CORBA::TypeCode_ptr, IdlPrettyPrint&);
void genCPlusPlusHStructBox(CORBA::ValueBoxDef_ptr, const char*,
const char*, const CORBA::TypeDescription*,
CORBA::TypeCode_ptr, IdlPrettyPrint&);
void genCPlusPlusHStructBoxMember(const char*, const CORBA::StructMember&,
const char*, IdlPrettyPrint&);
void genCPlusPlusHStringBox(CORBA::ValueBoxDef_ptr, const char*,
const char*, const CORBA::TypeDescription*,
CORBA::TypeCode_ptr, IdlPrettyPrint&);
void genCPlusPlusHUnionBox(CORBA::ValueBoxDef_ptr, const char*,
const char*, const CORBA::TypeDescription*,
CORBA::TypeCode_ptr, IdlPrettyPrint&);
void genCPlusPlusHUnionBoxMember(const char*, const IdlUnionMemberInfo&,
const char*, IdlPrettyPrint&);
void genCPlusPlusHSequenceBox(CORBA::ValueBoxDef_ptr, const char*,
const char*, const CORBA::TypeDescription*,
CORBA::TypeCode_ptr, IdlPrettyPrint&);
void genCPlusPlusHAnyBox(CORBA::ValueBoxDef_ptr, const char*,
const char*, const CORBA::TypeDescription*,
CORBA::TypeCode_ptr, IdlPrettyPrint&);
void genCPlusPlusHFixedBox(CORBA::ValueBoxDef_ptr, const char*,
const char*, const CORBA::TypeDescription*,
CORBA::TypeCode_ptr, IdlPrettyPrint&);
void genCPlusPlusHArrayBox(CORBA::ValueBoxDef_ptr, const char*,
const char*, const CORBA::TypeDescription*,
CORBA::TypeCode_ptr, IdlPrettyPrint&);
void genCPlusPlusCConstants(CORBA::Container_ptr, IdlPrettyPrint&);
void genCPlusPlusC(CORBA::Container_ptr, IdlPrettyPrint&);
void genCPlusPlusCProxy(CORBA::Container_ptr, IdlPrettyPrint&);
void genCPlusPlusCStubImpl(CORBA::Container_ptr, IdlPrettyPrint&);
void genCPlusPlusCMarshalStubImpl(CORBA::Container_ptr, IdlPrettyPrint&);
void genCPlusPlusCOBV(CORBA::Container_ptr, IdlPrettyPrint&);
void genCPlusPlusCValueMember(CORBA::Container_ptr,
const CORBA::ValueMember*,
const char*, IdlPrettyPrint&);
void genCPlusPlusCValueFactory(CORBA::ValueDef_ptr, IdlPrettyPrint&);
void genCPlusPlusCValueBoxFactory(const CORBA::TypeDescription*,
IdlPrettyPrint&);
void genCPlusPlusSkelH(CORBA::Container_ptr, IdlPrettyPrint&);
void genCPlusPlusSkelHOperation(const CORBA::OperationDescription*, bool,
IdlPrettyPrint&);
void genCPlusPlusSkelHAttribute(const CORBA::AttributeDescription*, bool,
IdlPrettyPrint&);
void genCPlusPlusSkelHDirectStubImpl(CORBA::Container_ptr,
IdlPrettyPrint&);
void genCPlusPlusSkelHDirectStubImplOperation(
const CORBA::OperationDescription*, IdlPrettyPrint&);
void genCPlusPlusSkelHDirectStubImplAttribute(
const CORBA::AttributeDescription*, IdlPrettyPrint&);
void genCPlusPlusSkelHProtected(CORBA::InterfaceDef_ptr, IdlPrettyPrint&);
void genCPlusPlusSkelHProtectedOperation(
const CORBA::OperationDescription*, IdlPrettyPrint&);
void genCPlusPlusSkelHProtectedAttribute(
const CORBA::AttributeDescription*, IdlPrettyPrint&);
void genCPlusPlusSkelC(CORBA::Container_ptr, IdlPrettyPrint&);
void genCPlusPlusSkelCProtected(CORBA::InterfaceDef_ptr, IdlPrettyPrint&);
void genCPlusPlusSkelCProtectedOperation(
const char*, const CORBA::OperationDescription*, IdlPrettyPrint&);
void genCPlusPlusSkelCProtectedAttribute(
const char*, const CORBA::AttributeDescription*, IdlPrettyPrint&);
void genCPlusPlusSkelCDirectStubImpl(CORBA::Container_ptr,
IdlPrettyPrint&);
void genCPlusPlusSkelCDirectStubImplOperation(
const char*, const CORBA::OperationDescription*, IdlPrettyPrint&);
void genCPlusPlusSkelCDirectStubImplAttribute(
const char*, const CORBA::AttributeDescription*, IdlPrettyPrint&);
void genCPlusPlusTieH(CORBA::Container_ptr, IdlPrettyPrint&);
void genCPlusPlusImplH(CORBA::Container_ptr, bool, IdlPrettyPrint&);
void genCPlusPlusImplHValueOpAtt(CORBA::ValueDef_ptr, const char*, bool,
CORBA::StringSeq&, IdlPrettyPrint&);
void genCPlusPlusImplHValueSupport(const char*, CORBA::InterfaceDef_ptr,
CORBA::StringSeq&, bool,
IdlPrettyPrint&);
void genCPlusPlusImplHAttribute(const char*,
const CORBA::AttributeDescription*,
bool, IdlPrettyPrint&);
void genCPlusPlusImplHOperation(const char*,
const CORBA::OperationDescription*,
bool, IdlPrettyPrint&);
void genCPlusPlusImplC(CORBA::Container_ptr, bool, IdlPrettyPrint&);
void genCPlusPlusImplCValueSupport(const char*, CORBA::InterfaceDef_ptr,
CORBA::StringSeq&, bool,
IdlPrettyPrint&);
void genCPlusPlusImplCValueOpAtt(CORBA::ValueDef_ptr, const char*, bool,
CORBA::StringSeq&, IdlPrettyPrint&);
void genCPlusPlusImplCAttribute(const char*,
const CORBA::AttributeDescription*,
bool, IdlPrettyPrint&);
void genCPlusPlusImplCOperation(const char*,
const CORBA::OperationDescription*,
bool, IdlPrettyPrint&);
void genCPlusPlusImplCReturn(CORBA::TypeCode_ptr, const char*,
IdlPrettyPrint&);
public:
IdlCPPGenerator(const char*,
CORBA::ORB_ptr,
CORBA::Repository_ptr,
bool,
const IdlStringHash&,
const IdlStringHash&,
const CORBA::StringSeq&,
OB::stl::list<CORBA::String_var>&,
bool,
bool,
bool,
bool,
bool,
bool,
bool,
const char*,
const char*,
const char*,
const char*,
const char*,
const char*,
const char*);
~IdlCPPGenerator();
int gen(const char*, const char*, bool);
int genSkel(const char*, const char*);
int genTie(const char*, const char*);
int genImpl(const char*, const char*, bool);
};
# 18 "GenCPPSkelH.cpp" 2
using namespace CORBA;
using namespace OB;
void
IdlCPPGenerator::genCPlusPlusSkelH(Container_ptr container,
IdlPrettyPrint& out)
{
ScopedName_var scope;
Container::DescriptionSeq* seq = describe(container, scope.out());
ULong i, j;
for(i = 0 ; i < seq -> length() ; i++)
{
Container::Description& seqElem = (*seq)[i];
Container_var cont = Container::_narrow(seqElem.contained_object);
switch(seqElem.kind)
{
case dk_Module:
{
const ModuleDescription* desc;
Boolean b = seqElem.value >>= desc;
(static_cast<void> ((b) ? 0 : (__assert_fail ("b", "GenCPPSkelH.cpp", 60, __PRETTY_FUNCTION__), 0)));
if(!check(desc -> id))
continue;
String_var name =
getPrefixedName("POA", seqElem.contained_object);
comment(desc -> id, out);
out << "\nnamespace " << name;
out << "\n{";
(static_cast<void> ((!is_nil(cont)) ? 0 : (__assert_fail ("!is_nil(cont)", "GenCPPSkelH.cpp", 72, __PRETTY_FUNCTION__), 0)));
genCPlusPlusSkelH(cont, out);
out.sep();
out << "\n} // End of namespace " << name;
break;
}
case dk_LocalInterface:
case dk_AbstractInterface:
break;
case dk_Interface:
{
const InterfaceDescription* desc;
Boolean b = seqElem.value >>= desc;
(static_cast<void> ((b) ? 0 : (__assert_fail ("b", "GenCPPSkelH.cpp", 95, __PRETTY_FUNCTION__), 0)));
if(!check(desc -> id))
continue;
InterfaceDef_var interf =
InterfaceDef::_narrow(seqElem.contained_object);
(static_cast<void> ((!is_nil(interf)) ? 0 : (__assert_fail ("!is_nil(interf)", "GenCPPSkelH.cpp", 102, __PRETTY_FUNCTION__), 0)));
String_var name = getPrefixedName("POA", seqElem.contained_object);
ScopedName_var absolute = getAbsolute(desc -> id);
comment(desc -> id, out);
out.sep();
out << "\nclass " << name << " : ";
unsigned int indent = out.getIndent();
out.setIndent(out.getPos());
IdlInterfaceInfoSeq baseInfo;
IdlGetBaseInterfaces(interf, baseInfo, false);
ULong numAbstractBases = 0;
for(j = 0 ; j < baseInfo.length() ; j++)
if(baseInfo[j].is_abstract)
numAbstractBases++;
if(baseInfo.length() > 0)
{
if(numAbstractBases == baseInfo.length())
out << "virtual public PortableServer::ServantBase,\n";
for(j = 0 ; j < baseInfo.length() ; j++)
{
ScopedName_var baseAbsolute;
if(baseInfo[j].is_abstract)
baseAbsolute = getAbsolute(baseInfo[j].id);
else
baseAbsolute =
getPrefixedAbsolute("POA", baseInfo[j].id, "");
if(j > 0)
out << ",\n";
if(baseInfo[j].is_abstract)
out << "virtual protected ";
else
out << "virtual public ";
out << baseAbsolute;
}
}
else
{
out << "virtual public PortableServer::ServantBase";
}
out.setIndent(indent);
out.start();
out << '\n' << name << "(const " << name << "&);";
out << "\nvoid operator=(const " << name << "&);";
(static_cast<void> ((!is_nil(cont)) ? 0 : (__assert_fail ("!is_nil(cont)", "GenCPPSkelH.cpp", 169, __PRETTY_FUNCTION__), 0)));
genCPlusPlusSkelHProtected(interf, out);
out.sep();
out.dec();
out << "\npublic:";
out.inc();
out.sep();
out << '\n' << name << "() { }";
out.sep();
out << "\nvirtual CORBA::Boolean _is_a(const char*)";
out.inc();
out << "\nthrow(CORBA::SystemException);";
out.dec();
out.sep();
out << "\nvirtual CORBA::RepositoryId _primary_interface(";
indent = out.getIndent();
out.setIndent(out.getPos());
out << "const PortableServer::ObjectId&,";
out << "\nPortableServer::POA_ptr);";
out.setIndent(indent);
out.sep();
out << '\n' << absolute << "_ptr _this();";
out.sep();
if(!noDirectStubs_)
{
out << "\nvirtual OB::DirectStubImpl_ptr "
<< "_OB_createDirectStubImpl(";
indent = out.getIndent();
out.setIndent(out.getPos());
out << "PortableServer::POA_ptr,";
out << "\nconst PortableServer::ObjectId&);";
out.setIndent(indent);
}
if(embedded_)
out << "\nvirtual void _OB_dispatch(OB::UpcallImpl*);";
else
out << "\nvirtual void _OB_dispatch(OB::Upcall_ptr);";
InterfaceDef::FullInterfaceDescription_var fid =
interf -> describe_interface();
IdlNameValuePairSeq_var abstractMethods =
IdlGetAbstractMethods(interf);
for(j = 0 ; j < abstractMethods -> length() ; j++)
{
const AttributeDescription* atDesc;
const OperationDescription* opDesc;
if(abstractMethods[j].value >>= atDesc)
genCPlusPlusSkelHAttribute(atDesc, true, out);
else if(abstractMethods[j].value >>= opDesc)
genCPlusPlusSkelHOperation(opDesc, true, out);
else
(static_cast<void> ((false) ? 0 : (__assert_fail ("false", "GenCPPSkelH.cpp", 232, __PRETTY_FUNCTION__), 0)));
}
(static_cast<void> ((!is_nil(cont)) ? 0 : (__assert_fail ("!is_nil(cont)", "GenCPPSkelH.cpp", 235, __PRETTY_FUNCTION__), 0)));
genCPlusPlusSkelH(cont, out);
out.end();
out << ';';
break;
}
case dk_Value:
{
const ValueDescription* desc;
Boolean b = seqElem.value >>= desc;
(static_cast<void> ((b) ? 0 : (__assert_fail ("b", "GenCPPSkelH.cpp", 251, __PRETTY_FUNCTION__), 0)));
if(!check(desc -> id))
continue;
if(desc -> is_abstract)
continue;
ValueDef_var value = ValueDef::_narrow(cont);
(static_cast<void> ((!is_nil(value)) ? 0 : (__assert_fail ("!is_nil(value)", "GenCPPSkelH.cpp", 263, __PRETTY_FUNCTION__), 0)));
IdlSupportedInterfaceInfoSeq info;
ULong numRegular = 0;
IdlGetAllSupportedInterfaces(value, info, numRegular);
if(numRegular == 0)
continue;
String_var name = getPrefixedName("POA", seqElem.contained_object);
ScopedName_var absolute = getAbsolute(value);
comment(desc -> id, out);
out.sep();
out << "\nclass " << name << " : ";
unsigned int indent = out.getIndent();
out.setIndent(out.getPos());
# 293 "GenCPPSkelH.cpp"
bool baseValueSupportsInterface = false;
ULong skelCount = 0;
for(j = 0 ; j < info.length() ; j++)
{
if(!info[j].interface_info.is_abstract &&
info[j].inheritance_level == 0)
{
ScopedName_var skel =
getPrefixedAbsolute("POA", info[j].interface_info.id,
"");
out << "virtual public " << skel << ",\n";
skelCount++;
}
else if(info[j].inheritance_level == 1 &&
!info[j].interface_info.is_abstract)
{
baseValueSupportsInterface = true;
}
}
if(baseValueSupportsInterface)
{
ScopedName_var skel =
getPrefixedAbsolute("POA", desc -> base_value, "");
out << "virtual public " << skel << ",\n";
skelCount++;
}
out << "virtual public " << absolute;
out.setIndent(indent);
out.start();
out << '\n' << name << "(const " << name << "&);";
out << "\nvoid operator=(const " << name << "&);";
out.sep();
out.dec();
out << "\npublic:";
out.inc();
out.sep();
out << '\n' << name << "() { }";
if(skelCount > 1)
{
out.sep();
out << "\nvirtual CORBA::Boolean _is_a(const char*)";
out.inc();
out << "\nthrow(CORBA::SystemException);";
out.dec();
out.sep();
out << "\nvirtual CORBA::RepositoryId _primary_interface(";
indent = out.getIndent();
out.setIndent(out.getPos());
out << "const PortableServer::ObjectId&,";
out << "\nPortableServer::POA_ptr);";
out.setIndent(indent);
RepositoryId_var intfId =
IdlGetPrimarySupportedInterface(info);
ScopedName_var intfAbs = getAbsolute(intfId);
out.sep();
out << '\n' << intfAbs << "_ptr _this();";
out.sep();
if(!noDirectStubs_)
{
out << "\nvirtual OB::DirectStubImpl_ptr "
<< "_OB_createDirectStubImpl(";
indent = out.getIndent();
out.setIndent(out.getPos());
out << "PortableServer::POA_ptr,";
out << "\nconst PortableServer::ObjectId&);";
out.setIndent(indent);
}
if(embedded_)
out << "\nvirtual void _OB_dispatch(OB::UpcallImpl*);";
else
out << "\nvirtual void _OB_dispatch(OB::Upcall_ptr);";
}
if(numRegular != info.length())
{
out.sep();
out << "\nvirtual CORBA::AbstractBase_ptr "
<< "_OB_toAbstractBase();";
}
out.end();
out << ';';
break;
}
case dk_Attribute:
{
const AttributeDescription* desc;
Boolean b = seqElem.value >>= desc;
(static_cast<void> ((b) ? 0 : (__assert_fail ("b", "GenCPPSkelH.cpp", 419, __PRETTY_FUNCTION__), 0)));
if(!check(desc -> id))
return;
genCPlusPlusSkelHAttribute(desc, false, out);
break;
}
case dk_Operation:
{
const OperationDescription* desc;
Boolean b = seqElem.value >>= desc;
(static_cast<void> ((b) ? 0 : (__assert_fail ("b", "GenCPPSkelH.cpp", 435, __PRETTY_FUNCTION__), 0)));
if(!check(desc -> id))
return;
genCPlusPlusSkelHOperation(desc, false, out);
break;
}
default:
break;
}
}
}
void
IdlCPPGenerator::genCPlusPlusSkelHOperation(const OperationDescription* desc,
bool isAbstract,
IdlPrettyPrint& out)
{
ULong j;
Identifier_var name = fixKwd(desc -> name);
comment(desc -> id, out);
String_var ret = getTypeString("", desc -> result, GetTypeReturn);
out.sep();
out << "\nvirtual " << ret << ' ' << name << "(";
unsigned int indent = out.getIndent();
out.setIndent(out.getPos());
for(j = 0 ; j < desc -> parameters.length() ; j++)
{
GetType tt;
switch(desc -> parameters[j].mode)
{
case PARAM_IN:
tt = GetTypeIn;
break;
case PARAM_INOUT:
tt = GetTypeInOut;
break;
case PARAM_OUT:
tt = GetTypeOut;
break;
}
String_var argName = fixKwd(desc -> parameters[j].name);
String_var s = getTypeString("", desc -> parameters[j].type,
tt, false, argName);
if(j > 0)
out << ",\n";
out << s;
}
if(desc -> contexts.length() > 0)
{
if(desc -> parameters.length() > 0)
out << ",\n";
out << "CORBA::Context_ptr";
}
out << ")";
out.setIndent(indent);
if(isAbstract)
out << " = 0;";
else
{
out.inc();
out << "\nthrow(";
indent = out.getIndent();
out.setIndent(out.getPos());
for(j = 0 ; j < desc -> exceptions.length() ; j++)
{
Identifier_var exName = getAbsolute(desc -> exceptions[j].id);
out << exName << ",\n";
}
out << "CORBA::SystemException) = 0;";
out.setIndent(indent);
out.dec();
}
}
void
IdlCPPGenerator::genCPlusPlusSkelHAttribute(const AttributeDescription* desc,
bool isAbstract,
IdlPrettyPrint& out)
{
Identifier_var name = fixKwd(desc -> name);
comment(desc -> id, out);
String_var ret = getTypeString("", desc -> type, GetTypeReturn);
String_var sysEx = string_dup("CORBA::SystemException");
out.sep();
out << "\nvirtual " << ret << ' ' << name << "()";
if(isAbstract)
out << " = 0;";
else
{
out.inc();
out << "\nthrow(" << sysEx << ") = 0;";
out.dec();
}
if(desc -> mode == ATTR_NORMAL)
{
String_var in = getTypeString("", desc -> type, GetTypeIn);
out << "\nvirtual void " << name << '(' << in << ')';
if(isAbstract)
out << " = 0;";
else
{
out.inc();
out << "\nthrow(" << sysEx << ") = 0;";
out.dec();
}
}
}
void
IdlCPPGenerator::genCPlusPlusSkelHDirectStubImpl(Container_ptr container,
IdlPrettyPrint& out)
{
ScopedName_var scope;
Container::DescriptionSeq* seq = describe(container, scope.out());
ULong i, j;
for(i = 0 ; i < seq -> length() ; i++)
{
Container::Description& seqElem = (*seq)[i];
Container_var cont = Container::_narrow(seqElem.contained_object);
switch(seqElem.kind)
{
case dk_Module:
{
const ModuleDescription* desc;
Boolean b = seqElem.value >>= desc;
(static_cast<void> ((b) ? 0 : (__assert_fail ("b", "GenCPPSkelH.cpp", 620, __PRETTY_FUNCTION__), 0)));
if(!check(desc -> id))
continue;
String_var name =
getPrefixedName("OBDirectStubImpl", seqElem.contained_object);
comment(desc -> id, out);
out << "\nnamespace " << name;
out << "\n{";
(static_cast<void> ((!is_nil(cont)) ? 0 : (__assert_fail ("!is_nil(cont)", "GenCPPSkelH.cpp", 632, __PRETTY_FUNCTION__), 0)));
genCPlusPlusSkelHDirectStubImpl(cont, out);
out.sep();
out << "\n} // End of namespace " << name;
break;
}
case dk_LocalInterface:
case dk_AbstractInterface:
break;
case dk_Interface:
{
const InterfaceDescription* desc;
Boolean b = seqElem.value >>= desc;
(static_cast<void> ((b) ? 0 : (__assert_fail ("b", "GenCPPSkelH.cpp", 655, __PRETTY_FUNCTION__), 0)));
if(!check(desc -> id))
continue;
InterfaceDef_var interf =
InterfaceDef::_narrow(seqElem.contained_object);
(static_cast<void> ((!is_nil(interf)) ? 0 : (__assert_fail ("!is_nil(interf)", "GenCPPSkelH.cpp", 662, __PRETTY_FUNCTION__), 0)));
String_var name =
getPrefixedName("OBDirectStubImpl", seqElem.contained_object);
ScopedName_var absolute = getAbsolute(desc -> id);
ScopedName_var poaAbsolute =
getPrefixedAbsolute("POA", desc -> id, "");
comment(desc -> id, out);
out.sep();
out << "\nclass " << name << " : ";
unsigned int indent = out.getIndent();
out.setIndent(out.getPos());
out << "virtual public OBStubImpl_" << absolute;
IdlInterfaceInfoSeq baseInfo;
IdlGetBaseInterfaces(interf, baseInfo, false);
ULong numAbstractBases = 0;
for(j = 0 ; j < baseInfo.length() ; j++)
if(baseInfo[j].is_abstract)
numAbstractBases++;
if(baseInfo.length() > 0)
{
if(numAbstractBases == baseInfo.length())
out << ",\nvirtual public OB::DirectStubImpl";
for(j = 0 ; j < baseInfo.length() ; j++)
{
if(!baseInfo[j].is_abstract)
{
ScopedName_var baseAbs =
getPrefixedAbsolute("OBDirectStubImpl",
baseInfo[j].id, "");
out << ",\n";
out << "virtual public " << baseAbs;
}
}
}
else
{
out << ",\n";
out << "virtual public OB::DirectStubImpl";
}
out.setIndent(indent);
out.start();
out << '\n' << name << "(const " << name << "&);";
out << "\nvoid operator=(const " << name << "&);";
out.sep();
out.dec();
out << "\nprotected:";
out.inc();
out.sep();
out.direct("\n#ifdef HAVE_VCPLUSPLUS_BUGS");
out.sep();
out << '\n' << name << "() { }";
out.sep();
out.direct("\n#endif");
out.sep();
out << '\n' << name << "(";
indent = out.getIndent();
out.setIndent(out.getPos());
out << "PortableServer::POA_ptr,";
out << "\nconst PortableServer::ObjectId&,";
out << "\nPortableServer::ServantBase*);";
out.setIndent(indent);
out.sep();
out << "\nfriend class " << poaAbsolute << ';';
out.sep();
out.dec();
out << "\npublic:";
out.inc();
IdlNameValuePairSeq_var abstractMethods =
IdlGetAbstractMethods(interf);
for(j = 0 ; j < abstractMethods -> length() ; j++)
{
const AttributeDescription* atDesc;
const OperationDescription* opDesc;
if(abstractMethods[j].value >>= atDesc)
genCPlusPlusSkelHDirectStubImplAttribute(atDesc, out);
else if(abstractMethods[j].value >>= opDesc)
genCPlusPlusSkelHDirectStubImplOperation(opDesc, out);
else
(static_cast<void> ((false) ? 0 : (__assert_fail ("false", "GenCPPSkelH.cpp", 765, __PRETTY_FUNCTION__), 0)));
}
(static_cast<void> ((!is_nil(cont)) ? 0 : (__assert_fail ("!is_nil(cont)", "GenCPPSkelH.cpp", 768, __PRETTY_FUNCTION__), 0)));
genCPlusPlusSkelHDirectStubImpl(cont, out);
out.end();
out << ';';
break;
}
case dk_Value:
{
const ValueDescription* desc;
Boolean b = seqElem.value >>= desc;
(static_cast<void> ((b) ? 0 : (__assert_fail ("b", "GenCPPSkelH.cpp", 784, __PRETTY_FUNCTION__), 0)));
if(!check(desc -> id))
continue;
if(desc -> is_abstract)
continue;
ValueDef_var value =
ValueDef::_narrow(seqElem.contained_object);
(static_cast<void> ((!is_nil(value)) ? 0 : (__assert_fail ("!is_nil(value)", "GenCPPSkelH.cpp", 794, __PRETTY_FUNCTION__), 0)));
IdlSupportedInterfaceInfoSeq info;
ULong numRegular = 0;
IdlGetAllSupportedInterfaces(value, info, numRegular);
if(numRegular == 0)
continue;
bool baseValueSupportsInterface = false;
ULong skelCount = 0;
for(j = 0 ; j < info.length() ; j++)
{
if(!info[j].interface_info.is_abstract &&
info[j].inheritance_level == 0)
{
skelCount++;
}
else if(info[j].inheritance_level == 1 &&
!info[j].interface_info.is_abstract)
{
baseValueSupportsInterface = true;
}
}
if(baseValueSupportsInterface)
skelCount++;
if(skelCount == 1)
continue;
comment(desc -> id, out);
RepositoryId_var primaryId = IdlGetPrimarySupportedInterface(info);
ScopedName_var primaryAbs = getAbsolute(primaryId);
ScopedName_var directPrimary = string_dup("OBDirectStubImpl_");
directPrimary += primaryAbs;
String_var name =
getPrefixedName("OBDirectStubImpl", seqElem.contained_object);
ScopedName_var absolute = getAbsolute(desc -> id);
ScopedName_var poaAbsolute =
getPrefixedAbsolute("POA", desc -> id, "");
out.sep();
out << "\nclass " << name << " : "
<< "virtual public OBDirectStubImpl_" << primaryAbs;
out.start();
out << '\n' << name << "(const " << name << "&);";
out << "\nvoid operator=(const " << name << "&);";
out.sep();
out.dec();
out << "\nprotected:";
out.inc();
out.sep();
out.direct("\n#ifdef HAVE_VCPLUSPLUS_BUGS");
out.sep();
out << '\n' << name << "() { }";
out.sep();
out.direct("\n#endif");
out.sep();
out << '\n' << name << "(";
unsigned indent = out.getIndent();
out.setIndent(out.getPos());
out << "PortableServer::POA_ptr,";
out << "\nconst PortableServer::ObjectId&,";
out << "\nPortableServer::ServantBase*);";
out.setIndent(indent);
out.sep();
out << "\nfriend class " << poaAbsolute << ';';
out.end();
out << ';';
break;
}
case dk_Attribute:
{
const AttributeDescription* desc;
Boolean b = seqElem.value >>= desc;
(static_cast<void> ((b) ? 0 : (__assert_fail ("b", "GenCPPSkelH.cpp", 897, __PRETTY_FUNCTION__), 0)));
if(!check(desc -> id))
continue;
genCPlusPlusSkelHDirectStubImplAttribute(desc, out);
break;
}
case dk_Operation:
{
const OperationDescription* desc;
Boolean b = seqElem.value >>= desc;
(static_cast<void> ((b) ? 0 : (__assert_fail ("b", "GenCPPSkelH.cpp", 913, __PRETTY_FUNCTION__), 0)));
if(!check(desc -> id))
continue;
genCPlusPlusSkelHDirectStubImplOperation(desc, out);
break;
}
default:
break;
}
}
}
void
IdlCPPGenerator::genCPlusPlusSkelHDirectStubImplOperation(
const OperationDescription* desc,
IdlPrettyPrint& out)
{
Identifier_var name = fixKwd(desc -> name);
comment(desc -> id, out);
String_var ret = getTypeString("", desc -> result, GetTypeReturn);
out.sep();
out << "\nvirtual " << ret << ' ' << name << "(";
unsigned int indent = out.getIndent();
out.setIndent(out.getPos());
for(ULong j = 0 ; j < desc -> parameters.length() ; j++)
{
GetType tt;
switch(desc -> parameters[j].mode)
{
case PARAM_IN:
tt = GetTypeIn;
break;
case PARAM_INOUT:
tt = GetTypeInOut;
break;
case PARAM_OUT:
tt = GetTypeOut;
break;
}
String_var argName = fixKwd(desc -> parameters[j].name);
String_var s = getTypeString("", desc -> parameters[j].type,
tt, false, argName);
if(j > 0)
out << ",\n";
out << s;
}
if(desc -> contexts.length() > 0)
{
if(desc -> parameters.length() > 0)
out << ",\n";
out << "CORBA::Context_ptr";
}
out << ");";
out.setIndent(indent);
}
void
IdlCPPGenerator::genCPlusPlusSkelHDirectStubImplAttribute(
const AttributeDescription* desc,
IdlPrettyPrint& out)
{
Identifier_var name = fixKwd(desc -> name);
comment(desc -> id, out);
String_var ret = getTypeString("", desc -> type, GetTypeReturn);
out.sep();
out << "\nvirtual " << ret << ' ' << name << "();";
if(desc -> mode == ATTR_NORMAL)
{
String_var in = getTypeString("", desc -> type, GetTypeIn);
out << "\nvirtual void " << name << '(' << in << ");";
}
}
void
IdlCPPGenerator::genCPlusPlusSkelHProtected(InterfaceDef_ptr intf,
IdlPrettyPrint& out)
{
IdlNameValuePairSeq_var abstractMethods = IdlGetAbstractMethods(intf);
bool first = true;
ULong i;
for(i = 0 ; i < abstractMethods -> length() ; i++)
{
if(first)
{
out.sep();
out.dec();
out << "\nprotected:";
out.inc();
first = false;
}
const AttributeDescription* atDesc;
const OperationDescription* opDesc;
if(abstractMethods[i].value >>= atDesc)
genCPlusPlusSkelHProtectedAttribute(atDesc, out);
else if(abstractMethods[i].value >>= opDesc)
genCPlusPlusSkelHProtectedOperation(opDesc, out);
else
(static_cast<void> ((false) ? 0 : (__assert_fail ("false", "GenCPPSkelH.cpp", 1054, __PRETTY_FUNCTION__), 0)));
}
ScopedName_var scope;
Container::DescriptionSeq* seq = describe(intf, scope.out());
for(i = 0 ; i < seq -> length() ; i++)
{
Container::Description& seqElem = (*seq)[i];
switch(seqElem.kind)
{
case dk_Attribute:
{
if(first)
{
out.sep();
out.dec();
out << "\nprotected:";
out.inc();
first = false;
}
const AttributeDescription* desc;
Boolean b = seqElem.value >>= desc;
(static_cast<void> ((b) ? 0 : (__assert_fail ("b", "GenCPPSkelH.cpp", 1089, __PRETTY_FUNCTION__), 0)));
if(!check(desc -> id))
return;
genCPlusPlusSkelHProtectedAttribute(desc, out);
break;
}
case dk_Operation:
{
if(first)
{
out.sep();
out.dec();
out << "\nprotected:";
out.inc();
first = false;
}
const OperationDescription* desc;
Boolean b = seqElem.value >>= desc;
(static_cast<void> ((b) ? 0 : (__assert_fail ("b", "GenCPPSkelH.cpp", 1114, __PRETTY_FUNCTION__), 0)));
if(!check(desc -> id))
return;
genCPlusPlusSkelHProtectedOperation(desc, out);
break;
}
default:
break;
}
}
}
void
IdlCPPGenerator::genCPlusPlusSkelHProtectedOperation(
const OperationDescription* desc,
IdlPrettyPrint& out)
{
Identifier_var name = fixKwd(desc -> name);
comment(desc -> id, out);
out.sep();
if(embedded_)
out << "\nvoid _OB_op_" << desc -> name << "(OB::UpcallImpl*);";
else
out << "\nvoid _OB_op_" << desc -> name << "(OB::Upcall_ptr);";
}
void
IdlCPPGenerator::genCPlusPlusSkelHProtectedAttribute(
const AttributeDescription* desc,
IdlPrettyPrint& out)
{
Identifier_var name = fixKwd(desc -> name);
comment(desc -> id, out);
out.sep();
if(embedded_)
{
out << "\nvoid _OB_get_" << desc -> name << "(OB::UpcallImpl*);";
if(desc -> mode == ATTR_NORMAL)
out << "\nvoid _OB_set_" << desc -> name << "(OB::UpcallImpl*);";
}
else
{
out << "\nvoid _OB_get_" << desc -> name << "(OB::Upcall_ptr);";
if(desc -> mode == ATTR_NORMAL)
out << "\nvoid _OB_set_" << desc -> name << "(OB::Upcall_ptr);";
}
}
>Release-Note:
>Audit-Trail:
>Unformatted:
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2001-07-13 5:56 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-07-13 5:56 c++/3676: GCC 3.1 experimental, Internal compiler error us
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).