Interpreter_Utils_T.cpp File Reference

#include "orbsvcs/Trader/Interpreter_Utils_T.h"
#include "orbsvcs/Trader/Constraint_Visitors.h"
#include "tao/DynamicAny/DynSequence_i.h"

Include dependency graph for Interpreter_Utils_T.cpp:

Include dependency graph

Go to the source code of this file.

Functions

template<class OPERAND_TYPE> TAO_BEGIN_VERSIONED_NAMESPACE_DECL
CORBA::Boolean 
TAO_find (const CORBA::Any &sequence, const OPERAND_TYPE &element)


Function Documentation

template<class OPERAND_TYPE>
TAO_BEGIN_VERSIONED_NAMESPACE_DECL CORBA::Boolean TAO_find const CORBA::Any &  sequence,
const OPERAND_TYPE &  element
 

Definition at line 13 of file Interpreter_Utils_T.cpp.

References ACE_CATCHANY, ACE_DECLARE_NEW_CORBA_ENV, ACE_ENDTRY, ACE_ENV_ARG_PARAMETER, ACE_ENV_SINGLE_ARG_PARAMETER, ACE_TRY, ACE_TRY_CHECK, and TAO_DynSequence_i.

00014 {
00015   CORBA::Boolean return_value = 0;
00016   TAO_Element_Equal<OPERAND_TYPE> functor;
00017   TAO_DynSequence_i dyn_seq;
00018 
00019   ACE_DECLARE_NEW_CORBA_ENV;
00020   ACE_TRY
00021     {
00022       dyn_seq.init (sequence ACE_ENV_ARG_PARAMETER);
00023       ACE_TRY_CHECK;
00024 
00025       CORBA::ULong length =
00026         dyn_seq.get_length ( ACE_ENV_SINGLE_ARG_PARAMETER );
00027       ACE_TRY_CHECK;
00028           
00029       dyn_seq.rewind( ACE_ENV_SINGLE_ARG_PARAMETER );
00030       ACE_TRY_CHECK;
00031 
00032       for (CORBA::ULong i = 0 ; i < length && ! return_value; i++)
00033         {
00034           if (functor (dyn_seq, element))
00035             return_value = 1;
00036                 
00037           dyn_seq.next( ACE_ENV_SINGLE_ARG_PARAMETER );
00038           ACE_TRY_CHECK;
00039         }
00040     }
00041   ACE_CATCHANY
00042     {
00043       return 0;
00044     }
00045   ACE_ENDTRY;
00046 
00047   return return_value;
00048 }


Generated on Thu Nov 9 14:00:14 2006 for TAO_CosTrader by doxygen 1.3.6