本文整理汇总了C++中ObjectType::Execute方法的典型用法代码示例。如果您正苦于以下问题:C++ ObjectType::Execute方法的具体用法?C++ ObjectType::Execute怎么用?C++ ObjectType::Execute使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ObjectType
的用法示例。
在下文中一共展示了ObjectType::Execute方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: std_logic_error
int
CommandInterpreter::Execute( const string& inCommand )
{
Background();
mResultStream.clear();
mResultStream.str( "" );
mInputStream.clear();
mInputStream.str( inCommand );
mInputStream >> ws;
while( !mPosStack.empty() )
mPosStack.pop_back();
string verb = GetToken();
if( !verb.empty() )
{
string type = GetOptionalToken();
ObjectType* pType = ObjectType::ByName( type.c_str() );
bool success = ( pType && pType->Execute( verb, *this ) );
if( !success )
{
success = ( CallbackBase::OK == mrStateMachine.ExecuteCallback( BCI_OnUnknownCommand, inCommand.c_str() ) );
if( success )
GetRemainingTokens();
}
if( !success )
{
Unget();
pType = ObjectType::ByName( 0 );
if( !pType )
throw std_logic_error( "No implied type available" );
success = pType->Execute( verb, *this );
}
if( !success )
{
mInputStream.clear();
mInputStream.seekg( 0 );
mInputStream >> ws;
mPosStack.clear();
success = ImpliedType::Get( *this );
}