// This file is generated by omniidl2- omniORB_2_8. Do not edit.
#ifndef __ir_operators_hh__
#define __ir_operators_hh__

inline void operator >>=(CORBA::DefinitionKind _e, NetBufferedStream& s) {
  ::operator>>=((CORBA::ULong)_e, s);
}

inline void operator <<= (CORBA::DefinitionKind& _e, NetBufferedStream& s) {
  CORBA::ULong _0RL_e;
  ::operator<<=(_0RL_e,s);
  switch (_0RL_e) {
    case CORBA::dk_none:
    case CORBA::dk_all:
    case CORBA::dk_Attribute:
    case CORBA::dk_Constant:
    case CORBA::dk_Exception:
    case CORBA::dk_Interface:
    case CORBA::dk_Module:
    case CORBA::dk_Operation:
    case CORBA::dk_Typedef:
    case CORBA::dk_Alias:
    case CORBA::dk_Struct:
    case CORBA::dk_Union:
    case CORBA::dk_Enum:
    case CORBA::dk_Primitive:
    case CORBA::dk_String:
    case CORBA::dk_Sequence:
    case CORBA::dk_Array:
    case CORBA::dk_Repository:
    case CORBA::dk_Wstring:
    case CORBA::dk_Fixed:
      _e = (CORBA::DefinitionKind) _0RL_e;
      break;
    default:
      _CORBA_marshal_error();
  }
}

inline void operator>>= (CORBA::DefinitionKind _e, MemBufferedStream& s) {
  ::operator>>=((CORBA::ULong)_e,s);
}

inline void operator<<= (CORBA::DefinitionKind& _e,MemBufferedStream& s) {
  CORBA::ULong _0RL_e;
  ::operator<<=(_0RL_e,s);
  switch (_0RL_e) {
    case CORBA::dk_none:
    case CORBA::dk_all:
    case CORBA::dk_Attribute:
    case CORBA::dk_Constant:
    case CORBA::dk_Exception:
    case CORBA::dk_Interface:
    case CORBA::dk_Module:
    case CORBA::dk_Operation:
    case CORBA::dk_Typedef:
    case CORBA::dk_Alias:
    case CORBA::dk_Struct:
    case CORBA::dk_Union:
    case CORBA::dk_Enum:
    case CORBA::dk_Primitive:
    case CORBA::dk_String:
    case CORBA::dk_Sequence:
    case CORBA::dk_Array:
    case CORBA::dk_Repository:
    case CORBA::dk_Wstring:
    case CORBA::dk_Fixed:
      _e = (CORBA::DefinitionKind) _0RL_e;
      break;
    default:
      _CORBA_marshal_error();
  }
}

void operator<<=(CORBA::Any& _a, CORBA::DefinitionKind _s);
CORBA::Boolean operator>>=(const CORBA::Any& _a, CORBA::DefinitionKind& _s);


void operator<<=(CORBA::Any& _a, CORBA::IRObject_ptr _s);
CORBA::Boolean operator>>=(const CORBA::Any& _a, CORBA::IRObject_ptr& _s);

extern void operator<<=(CORBA::Any& _a, const CORBA::Contained::Description& _s);
extern void operator<<=(CORBA::Any& _a, CORBA::Contained::Description* _sp);
extern CORBA::Boolean operator>>=(const CORBA::Any& _a, CORBA::Contained::Description*& _sp);
extern CORBA::Boolean operator>>=(const CORBA::Any& _a, const CORBA::Contained::Description*& _sp);


void operator<<=(CORBA::Any& _a, CORBA::Contained_ptr _s);
CORBA::Boolean operator>>=(const CORBA::Any& _a, CORBA::Contained_ptr& _s);

extern void operator <<= (CORBA::Any& a, const CORBA::InterfaceDefSeq& s);
inline void operator <<= (CORBA::Any& a, CORBA::InterfaceDefSeq* sp) {
  a <<= *sp;
  delete sp;
}
extern CORBA::Boolean operator >>= (const CORBA::Any& a, CORBA::InterfaceDefSeq*& sp);
extern CORBA::Boolean operator >>= (const CORBA::Any& a, const CORBA::InterfaceDefSeq*& sp);

extern void operator <<= (CORBA::Any& a, const CORBA::ContainedSeq& s);
inline void operator <<= (CORBA::Any& a, CORBA::ContainedSeq* sp) {
  a <<= *sp;
  delete sp;
}
extern CORBA::Boolean operator >>= (const CORBA::Any& a, CORBA::ContainedSeq*& sp);
extern CORBA::Boolean operator >>= (const CORBA::Any& a, const CORBA::ContainedSeq*& sp);

extern void operator<<=(CORBA::Any& _a, const CORBA::Container::Description& _s);
extern void operator<<=(CORBA::Any& _a, CORBA::Container::Description* _sp);
extern CORBA::Boolean operator>>=(const CORBA::Any& _a, CORBA::Container::Description*& _sp);
extern CORBA::Boolean operator>>=(const CORBA::Any& _a, const CORBA::Container::Description*& _sp);

extern void operator <<= (CORBA::Any& a, const CORBA::Container::DescriptionSeq& s);
inline void operator <<= (CORBA::Any& a, CORBA::Container::DescriptionSeq* sp) {
  a <<= *sp;
  delete sp;
}
extern CORBA::Boolean operator >>= (const CORBA::Any& a, CORBA::Container::DescriptionSeq*& sp);
extern CORBA::Boolean operator >>= (const CORBA::Any& a, const CORBA::Container::DescriptionSeq*& sp);


void operator<<=(CORBA::Any& _a, CORBA::Container_ptr _s);
CORBA::Boolean operator>>=(const CORBA::Any& _a, CORBA::Container_ptr& _s);


void operator<<=(CORBA::Any& _a, CORBA::IDLType_ptr _s);
CORBA::Boolean operator>>=(const CORBA::Any& _a, CORBA::IDLType_ptr& _s);

inline void operator >>=(CORBA::PrimitiveKind _e, NetBufferedStream& s) {
  ::operator>>=((CORBA::ULong)_e, s);
}

inline void operator <<= (CORBA::PrimitiveKind& _e, NetBufferedStream& s) {
  CORBA::ULong _0RL_e;
  ::operator<<=(_0RL_e,s);
  switch (_0RL_e) {
    case CORBA::pk_null:
    case CORBA::pk_void:
    case CORBA::pk_short:
    case CORBA::pk_long:
    case CORBA::pk_ushort:
    case CORBA::pk_ulong:
    case CORBA::pk_float:
    case CORBA::pk_double:
    case CORBA::pk_boolean:
    case CORBA::pk_char:
    case CORBA::pk_octet:
    case CORBA::pk_any:
    case CORBA::pk_TypeCode:
    case CORBA::pk_Principal:
    case CORBA::pk_string:
    case CORBA::pk_objref:
    case CORBA::pk_longlong:
    case CORBA::pk_ulonglong:
    case CORBA::pk_longdouble:
    case CORBA::pk_wchar:
    case CORBA::pk_wstring:
      _e = (CORBA::PrimitiveKind) _0RL_e;
      break;
    default:
      _CORBA_marshal_error();
  }
}

inline void operator>>= (CORBA::PrimitiveKind _e, MemBufferedStream& s) {
  ::operator>>=((CORBA::ULong)_e,s);
}

inline void operator<<= (CORBA::PrimitiveKind& _e,MemBufferedStream& s) {
  CORBA::ULong _0RL_e;
  ::operator<<=(_0RL_e,s);
  switch (_0RL_e) {
    case CORBA::pk_null:
    case CORBA::pk_void:
    case CORBA::pk_short:
    case CORBA::pk_long:
    case CORBA::pk_ushort:
    case CORBA::pk_ulong:
    case CORBA::pk_float:
    case CORBA::pk_double:
    case CORBA::pk_boolean:
    case CORBA::pk_char:
    case CORBA::pk_octet:
    case CORBA::pk_any:
    case CORBA::pk_TypeCode:
    case CORBA::pk_Principal:
    case CORBA::pk_string:
    case CORBA::pk_objref:
    case CORBA::pk_longlong:
    case CORBA::pk_ulonglong:
    case CORBA::pk_longdouble:
    case CORBA::pk_wchar:
    case CORBA::pk_wstring:
      _e = (CORBA::PrimitiveKind) _0RL_e;
      break;
    default:
      _CORBA_marshal_error();
  }
}

void operator<<=(CORBA::Any& _a, CORBA::PrimitiveKind _s);
CORBA::Boolean operator>>=(const CORBA::Any& _a, CORBA::PrimitiveKind& _s);


void operator<<=(CORBA::Any& _a, CORBA::Repository_ptr _s);
CORBA::Boolean operator>>=(const CORBA::Any& _a, CORBA::Repository_ptr& _s);


void operator<<=(CORBA::Any& _a, CORBA::ModuleDef_ptr _s);
CORBA::Boolean operator>>=(const CORBA::Any& _a, CORBA::ModuleDef_ptr& _s);

extern void operator<<=(CORBA::Any& _a, const CORBA::ModuleDescription& _s);
extern void operator<<=(CORBA::Any& _a, CORBA::ModuleDescription* _sp);
extern CORBA::Boolean operator>>=(const CORBA::Any& _a, CORBA::ModuleDescription*& _sp);
extern CORBA::Boolean operator>>=(const CORBA::Any& _a, const CORBA::ModuleDescription*& _sp);


void operator<<=(CORBA::Any& _a, CORBA::ConstantDef_ptr _s);
CORBA::Boolean operator>>=(const CORBA::Any& _a, CORBA::ConstantDef_ptr& _s);

extern void operator<<=(CORBA::Any& _a, const CORBA::ConstantDescription& _s);
extern void operator<<=(CORBA::Any& _a, CORBA::ConstantDescription* _sp);
extern CORBA::Boolean operator>>=(const CORBA::Any& _a, CORBA::ConstantDescription*& _sp);
extern CORBA::Boolean operator>>=(const CORBA::Any& _a, const CORBA::ConstantDescription*& _sp);


void operator<<=(CORBA::Any& _a, CORBA::TypedefDef_ptr _s);
CORBA::Boolean operator>>=(const CORBA::Any& _a, CORBA::TypedefDef_ptr& _s);

extern void operator<<=(CORBA::Any& _a, const CORBA::TypeDescription& _s);
extern void operator<<=(CORBA::Any& _a, CORBA::TypeDescription* _sp);
extern CORBA::Boolean operator>>=(const CORBA::Any& _a, CORBA::TypeDescription*& _sp);
extern CORBA::Boolean operator>>=(const CORBA::Any& _a, const CORBA::TypeDescription*& _sp);


void operator<<=(CORBA::Any& _a, CORBA::StructDef_ptr _s);
CORBA::Boolean operator>>=(const CORBA::Any& _a, CORBA::StructDef_ptr& _s);


void operator<<=(CORBA::Any& _a, CORBA::UnionDef_ptr _s);
CORBA::Boolean operator>>=(const CORBA::Any& _a, CORBA::UnionDef_ptr& _s);


void operator<<=(CORBA::Any& _a, CORBA::EnumDef_ptr _s);
CORBA::Boolean operator>>=(const CORBA::Any& _a, CORBA::EnumDef_ptr& _s);


void operator<<=(CORBA::Any& _a, CORBA::AliasDef_ptr _s);
CORBA::Boolean operator>>=(const CORBA::Any& _a, CORBA::AliasDef_ptr& _s);


void operator<<=(CORBA::Any& _a, CORBA::PrimitiveDef_ptr _s);
CORBA::Boolean operator>>=(const CORBA::Any& _a, CORBA::PrimitiveDef_ptr& _s);


void operator<<=(CORBA::Any& _a, CORBA::StringDef_ptr _s);
CORBA::Boolean operator>>=(const CORBA::Any& _a, CORBA::StringDef_ptr& _s);


void operator<<=(CORBA::Any& _a, CORBA::WstringDef_ptr _s);
CORBA::Boolean operator>>=(const CORBA::Any& _a, CORBA::WstringDef_ptr& _s);


void operator<<=(CORBA::Any& _a, CORBA::FixedDef_ptr _s);
CORBA::Boolean operator>>=(const CORBA::Any& _a, CORBA::FixedDef_ptr& _s);


void operator<<=(CORBA::Any& _a, CORBA::SequenceDef_ptr _s);
CORBA::Boolean operator>>=(const CORBA::Any& _a, CORBA::SequenceDef_ptr& _s);


void operator<<=(CORBA::Any& _a, CORBA::ArrayDef_ptr _s);
CORBA::Boolean operator>>=(const CORBA::Any& _a, CORBA::ArrayDef_ptr& _s);


void operator<<=(CORBA::Any& _a, CORBA::ExceptionDef_ptr _s);
CORBA::Boolean operator>>=(const CORBA::Any& _a, CORBA::ExceptionDef_ptr& _s);

extern void operator<<=(CORBA::Any& _a, const CORBA::ExceptionDescription& _s);
extern void operator<<=(CORBA::Any& _a, CORBA::ExceptionDescription* _sp);
extern CORBA::Boolean operator>>=(const CORBA::Any& _a, CORBA::ExceptionDescription*& _sp);
extern CORBA::Boolean operator>>=(const CORBA::Any& _a, const CORBA::ExceptionDescription*& _sp);

inline void operator >>=(CORBA::AttributeMode _e, NetBufferedStream& s) {
  ::operator>>=((CORBA::ULong)_e, s);
}

inline void operator <<= (CORBA::AttributeMode& _e, NetBufferedStream& s) {
  CORBA::ULong _0RL_e;
  ::operator<<=(_0RL_e,s);
  switch (_0RL_e) {
    case CORBA::ATTR_NORMAL:
    case CORBA::ATTR_READONLY:
      _e = (CORBA::AttributeMode) _0RL_e;
      break;
    default:
      _CORBA_marshal_error();
  }
}

inline void operator>>= (CORBA::AttributeMode _e, MemBufferedStream& s) {
  ::operator>>=((CORBA::ULong)_e,s);
}

inline void operator<<= (CORBA::AttributeMode& _e,MemBufferedStream& s) {
  CORBA::ULong _0RL_e;
  ::operator<<=(_0RL_e,s);
  switch (_0RL_e) {
    case CORBA::ATTR_NORMAL:
    case CORBA::ATTR_READONLY:
      _e = (CORBA::AttributeMode) _0RL_e;
      break;
    default:
      _CORBA_marshal_error();
  }
}

void operator<<=(CORBA::Any& _a, CORBA::AttributeMode _s);
CORBA::Boolean operator>>=(const CORBA::Any& _a, CORBA::AttributeMode& _s);


void operator<<=(CORBA::Any& _a, CORBA::AttributeDef_ptr _s);
CORBA::Boolean operator>>=(const CORBA::Any& _a, CORBA::AttributeDef_ptr& _s);

extern void operator<<=(CORBA::Any& _a, const CORBA::AttributeDescription& _s);
extern void operator<<=(CORBA::Any& _a, CORBA::AttributeDescription* _sp);
extern CORBA::Boolean operator>>=(const CORBA::Any& _a, CORBA::AttributeDescription*& _sp);
extern CORBA::Boolean operator>>=(const CORBA::Any& _a, const CORBA::AttributeDescription*& _sp);

inline void operator >>=(CORBA::OperationMode _e, NetBufferedStream& s) {
  ::operator>>=((CORBA::ULong)_e, s);
}

inline void operator <<= (CORBA::OperationMode& _e, NetBufferedStream& s) {
  CORBA::ULong _0RL_e;
  ::operator<<=(_0RL_e,s);
  switch (_0RL_e) {
    case CORBA::OP_NORMAL:
    case CORBA::OP_ONEWAY:
      _e = (CORBA::OperationMode) _0RL_e;
      break;
    default:
      _CORBA_marshal_error();
  }
}

inline void operator>>= (CORBA::OperationMode _e, MemBufferedStream& s) {
  ::operator>>=((CORBA::ULong)_e,s);
}

inline void operator<<= (CORBA::OperationMode& _e,MemBufferedStream& s) {
  CORBA::ULong _0RL_e;
  ::operator<<=(_0RL_e,s);
  switch (_0RL_e) {
    case CORBA::OP_NORMAL:
    case CORBA::OP_ONEWAY:
      _e = (CORBA::OperationMode) _0RL_e;
      break;
    default:
      _CORBA_marshal_error();
  }
}

void operator<<=(CORBA::Any& _a, CORBA::OperationMode _s);
CORBA::Boolean operator>>=(const CORBA::Any& _a, CORBA::OperationMode& _s);

inline void operator >>=(CORBA::ParameterMode _e, NetBufferedStream& s) {
  ::operator>>=((CORBA::ULong)_e, s);
}

inline void operator <<= (CORBA::ParameterMode& _e, NetBufferedStream& s) {
  CORBA::ULong _0RL_e;
  ::operator<<=(_0RL_e,s);
  switch (_0RL_e) {
    case CORBA::PARAM_IN:
    case CORBA::PARAM_OUT:
    case CORBA::PARAM_INOUT:
      _e = (CORBA::ParameterMode) _0RL_e;
      break;
    default:
      _CORBA_marshal_error();
  }
}

inline void operator>>= (CORBA::ParameterMode _e, MemBufferedStream& s) {
  ::operator>>=((CORBA::ULong)_e,s);
}

inline void operator<<= (CORBA::ParameterMode& _e,MemBufferedStream& s) {
  CORBA::ULong _0RL_e;
  ::operator<<=(_0RL_e,s);
  switch (_0RL_e) {
    case CORBA::PARAM_IN:
    case CORBA::PARAM_OUT:
    case CORBA::PARAM_INOUT:
      _e = (CORBA::ParameterMode) _0RL_e;
      break;
    default:
      _CORBA_marshal_error();
  }
}

void operator<<=(CORBA::Any& _a, CORBA::ParameterMode _s);
CORBA::Boolean operator>>=(const CORBA::Any& _a, CORBA::ParameterMode& _s);

extern void operator<<=(CORBA::Any& _a, const CORBA::ParameterDescription& _s);
extern void operator<<=(CORBA::Any& _a, CORBA::ParameterDescription* _sp);
extern CORBA::Boolean operator>>=(const CORBA::Any& _a, CORBA::ParameterDescription*& _sp);
extern CORBA::Boolean operator>>=(const CORBA::Any& _a, const CORBA::ParameterDescription*& _sp);

extern void operator <<= (CORBA::Any& a, const CORBA::ParDescriptionSeq& s);
inline void operator <<= (CORBA::Any& a, CORBA::ParDescriptionSeq* sp) {
  a <<= *sp;
  delete sp;
}
extern CORBA::Boolean operator >>= (const CORBA::Any& a, CORBA::ParDescriptionSeq*& sp);
extern CORBA::Boolean operator >>= (const CORBA::Any& a, const CORBA::ParDescriptionSeq*& sp);

extern void operator <<= (CORBA::Any& a, const CORBA::ContextIdSeq& s);
inline void operator <<= (CORBA::Any& a, CORBA::ContextIdSeq* sp) {
  a <<= *sp;
  delete sp;
}
extern CORBA::Boolean operator >>= (const CORBA::Any& a, CORBA::ContextIdSeq*& sp);
extern CORBA::Boolean operator >>= (const CORBA::Any& a, const CORBA::ContextIdSeq*& sp);

extern void operator <<= (CORBA::Any& a, const CORBA::ExceptionDefSeq& s);
inline void operator <<= (CORBA::Any& a, CORBA::ExceptionDefSeq* sp) {
  a <<= *sp;
  delete sp;
}
extern CORBA::Boolean operator >>= (const CORBA::Any& a, CORBA::ExceptionDefSeq*& sp);
extern CORBA::Boolean operator >>= (const CORBA::Any& a, const CORBA::ExceptionDefSeq*& sp);

extern void operator <<= (CORBA::Any& a, const CORBA::ExcDescriptionSeq& s);
inline void operator <<= (CORBA::Any& a, CORBA::ExcDescriptionSeq* sp) {
  a <<= *sp;
  delete sp;
}
extern CORBA::Boolean operator >>= (const CORBA::Any& a, CORBA::ExcDescriptionSeq*& sp);
extern CORBA::Boolean operator >>= (const CORBA::Any& a, const CORBA::ExcDescriptionSeq*& sp);


void operator<<=(CORBA::Any& _a, CORBA::OperationDef_ptr _s);
CORBA::Boolean operator>>=(const CORBA::Any& _a, CORBA::OperationDef_ptr& _s);

extern void operator<<=(CORBA::Any& _a, const CORBA::OperationDescription& _s);
extern void operator<<=(CORBA::Any& _a, CORBA::OperationDescription* _sp);
extern CORBA::Boolean operator>>=(const CORBA::Any& _a, CORBA::OperationDescription*& _sp);
extern CORBA::Boolean operator>>=(const CORBA::Any& _a, const CORBA::OperationDescription*& _sp);

extern void operator <<= (CORBA::Any& a, const CORBA::RepositoryIdSeq& s);
inline void operator <<= (CORBA::Any& a, CORBA::RepositoryIdSeq* sp) {
  a <<= *sp;
  delete sp;
}
extern CORBA::Boolean operator >>= (const CORBA::Any& a, CORBA::RepositoryIdSeq*& sp);
extern CORBA::Boolean operator >>= (const CORBA::Any& a, const CORBA::RepositoryIdSeq*& sp);

extern void operator <<= (CORBA::Any& a, const CORBA::OpDescriptionSeq& s);
inline void operator <<= (CORBA::Any& a, CORBA::OpDescriptionSeq* sp) {
  a <<= *sp;
  delete sp;
}
extern CORBA::Boolean operator >>= (const CORBA::Any& a, CORBA::OpDescriptionSeq*& sp);
extern CORBA::Boolean operator >>= (const CORBA::Any& a, const CORBA::OpDescriptionSeq*& sp);

extern void operator <<= (CORBA::Any& a, const CORBA::AttrDescriptionSeq& s);
inline void operator <<= (CORBA::Any& a, CORBA::AttrDescriptionSeq* sp) {
  a <<= *sp;
  delete sp;
}
extern CORBA::Boolean operator >>= (const CORBA::Any& a, CORBA::AttrDescriptionSeq*& sp);
extern CORBA::Boolean operator >>= (const CORBA::Any& a, const CORBA::AttrDescriptionSeq*& sp);

extern void operator<<=(CORBA::Any& _a, const CORBA::InterfaceDef::FullInterfaceDescription& _s);
extern void operator<<=(CORBA::Any& _a, CORBA::InterfaceDef::FullInterfaceDescription* _sp);
extern CORBA::Boolean operator>>=(const CORBA::Any& _a, CORBA::InterfaceDef::FullInterfaceDescription*& _sp);
extern CORBA::Boolean operator>>=(const CORBA::Any& _a, const CORBA::InterfaceDef::FullInterfaceDescription*& _sp);


void operator<<=(CORBA::Any& _a, CORBA::InterfaceDef_ptr _s);
CORBA::Boolean operator>>=(const CORBA::Any& _a, CORBA::InterfaceDef_ptr& _s);

extern void operator<<=(CORBA::Any& _a, const CORBA::InterfaceDescription& _s);
extern void operator<<=(CORBA::Any& _a, CORBA::InterfaceDescription* _sp);
extern CORBA::Boolean operator>>=(const CORBA::Any& _a, CORBA::InterfaceDescription*& _sp);
extern CORBA::Boolean operator>>=(const CORBA::Any& _a, const CORBA::InterfaceDescription*& _sp);

#endif
