utl_strlist.cpp
来自「这是广泛使用的通信开源项目,对于大容量,高并发的通讯要求完全能够胜任,他广泛可用」· C++ 代码 · 共 153 行
CPP
153 行
// utl_strlist.cpp,v 1.6 2002/07/01 13:49:23 parsons Exp
/*
*======================================================================
*
*Copyright 1992 Sun Microsystems, Inc.
*
*The Interface Definition Language Compiler Front End (CFE) is made
*available for use provided that this legend is included on all media and
*documentation and as a part of the software program in whole or part.
*Users may copy and extend functionality (but may not remove
*functionality) of the Interface Definition Language CFE without charge,
*but are not authorized to license or distribute it to anyone else except
*as part of a product or program developed by the user or with the express
*written consent of Sun Microsystems, Inc.
*
*The names of Sun Microsystems, Inc. and any of its subsidiaries may not
*be used in advertising or publicity pertaining to distribution of
*Interface Definition Language CFE as permitted herein.
*
*The Interface Definition Language CFE may not be exported outside the
*United States without first obtaining the appropriate government
*approvals.
*
*INTERFACE DEFINITION LANGUAGE CFE IS PROVIDED AS IS WITH NO WARRANTIES
*OF ANY KIND INCLUDING THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND
*FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR ARISING FROM A
*COURSE OF DEALING, USAGE OR TRADE PRACTICE.
*
*Interface Definition Language CFE is provided with no support and
*without any obligation on the part of Sun Microsystems, Inc. or any of
*its subsidiaries or affiliates to assist in its use, correction,
*modification or enhancement.
*
*SUN MICROSYSTEMS, INC. OR ANY OF ITS SUBSIDIARIES OR AFFILIATES SHALL
*HAVE NO LIABILITY WITH RESPECT TO THE INFRINGEMENT OF COPYRIGHTS, TRADE
*SECRETS OR ANY PATENTS BY INTERFACE DEFINITION LANGUAGE CFE OR ANY PART
*THEREOF.
*
*IN NO EVENT WILL SUN MICROSYSTEMS, INC. OR ANY OF ITS SUBSIDIARIES OR
*AFFILIATES BE LIABLE FOR ANY LOST REVENUE OR PROFITS OR OTHER SPECIAL,
*INDIRECT AND CONSEQUENTIAL DAMAGES, EVEN IF SUN HAS BEEN ADVISED OF THE
*POSSIBILITY OF SUCH DAMAGES.
*
*SunSoft, Inc.
*2550 Garcia Avenue
*Mountain View, California 94043
*
*
*
*
*======================================================================
*/
// utl_strlist.cc
//
// Implementation of a list of utl_string nodes
#include <idl.hh>
#include <idl_extern.hh>
ACE_RCSID(utl_tmpl, utl_strlist, "utl_strlist.cpp,v 1.6 2002/07/01 13:49:23 parsons Exp")
/*
* Constructor(s)
*/
UTL_StrList::UTL_StrList(String *s, UTL_StrList *cdr)
: UTL_List<UTL_StrList, String>(s, cdr)
{
}
/*
* Private operations
*/
/*
* Public operations
*/
// Get last item of this list
String *
UTL_StrList::last_component()
{
if (tail() == NULL)
return head();
return tail()->last_component();
}
// AST Dumping
void
UTL_StrList::dump (ACE_OSTREAM_TYPE &o)
{
char *s = 0;;
UTL_StrlistActiveIterator *i = new UTL_StrlistActiveIterator (this);
long first = I_TRUE;
long second = I_FALSE;
for (UTL_StrlistActiveIterator (this); !i.is_done(); i.next ())
{
if (!first)
{
o << "::";
}
else if (second)
{
first = second = I_FALSE;
}
s = i.item ()->get_string ();
o << s;
if (first)
{
if (ACE_OS::strcmp (s, "::") != 0)
{
first = I_FALSE;
}
else
{
second = I_TRUE;
}
}
}
}
/*
* Redefinition of inherited virtual operations
*/
// UTL_StrList active iterator
/*
* Constructor
*/
UTL_StrlistActiveIterator::UTL_StrlistActiveIterator(UTL_StrList *s)
: UTL_ListActiveIterator<UTL_StrList, String>(s)
{
}
/*
* Private operations
*/
/*
* Public operations
*/
/*
* Redefinition of inherited virtual operations
*/
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?