• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ py::String类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中py::String的典型用法代码示例。如果您正苦于以下问题:C++ String类的具体用法?C++ String怎么用?C++ String使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了String类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: callback_permission

//
// this method is called to retrieve the password
// for the certificate
//
// @param password
//
bool pysvn_context::contextSslClientCertPwPrompt
(
    std::string &_password,
    const std::string &_realm,
    bool &_may_save
)
{
    PythonDisallowThreads callback_permission( m_permission );

    // make sure we can call the users object
    if( !m_pyfn_SslClientCertPwPrompt.isCallable() )
    {
        m_error_message = "callback_ssl_client_cert_password_prompt required";

        return false;
    }

    Py::Callable callback( m_pyfn_SslClientCertPwPrompt );

    Py::Tuple args( 2 );
    args[0] = Py::String( _realm );
    args[1] = Py::Int( (long)_may_save );

    // bool, username, password
    Py::Tuple results;
    Py::Int retcode;
    Py::String username;
    Py::String password;
    Py::Int may_save_out;

    try
    {
        results = callback.apply( args );
        retcode = results[0];
        password = results[1];
        may_save_out = results[2];

        // true returned
        if( long( retcode ) != 0 )
        {
            // copy out the answers
            _password = password.as_std_string();
            _may_save = long( may_save_out ) != 0;

            return true;
        }
    }
    catch( Py::Exception &e )
    {
        PyErr_Print();
        e.clear();

        m_error_message = "unhandled exception in callback_ssl_client_cert_password_prompt";

        return false;
    }

    return false;
}
开发者ID:vimov,项目名称:Deployer,代码行数:65,代码来源:pysvn_callbacks.cpp


示例2: sAddWorkbenchHandler

PyObject* Application::sAddWorkbenchHandler(PyObject * /*self*/, PyObject *args,PyObject * /*kwd*/)
{
    PyObject*   pcObject;
    std::string item;
    if (!PyArg_ParseTuple(args, "O", &pcObject))     // convert args: Python->C 
        return NULL;                    // NULL triggers exception 

    try {
        // get the class object 'Workbench' from the main module that is expected
        // to be base class for all workbench classes
        Py::Module module("__main__");
        Py::Object baseclass(module.getAttr(std::string("Workbench")));
        
        // check whether it is an instance or class object
        Py::Object object(pcObject);
        Py::String name;
        
        if (PyObject_IsSubclass(object.ptr(), baseclass.ptr()) == 1) {
            // create an instance of this class
            name = object.getAttr(std::string("__name__"));
            Py::Tuple args;
            Py::Callable creation(object);
            object = creation.apply(args);
        }
        else if (PyObject_IsInstance(object.ptr(), baseclass.ptr()) == 1) {
            // extract the class name of the instance
            PyErr_Clear(); // PyObject_IsSubclass set an exception
            Py::Object classobj = object.getAttr(std::string("__class__"));
            name = classobj.getAttr(std::string("__name__"));
        }
        else {
            PyErr_SetString(PyExc_TypeError, "arg must be a subclass or an instance of "
                                             "a subclass of 'Workbench'");
            return NULL;
        }

        // Search for some methods and members without invoking them
        Py::Callable(object.getAttr(std::string("Initialize")));
        Py::Callable(object.getAttr(std::string("GetClassName")));
        item = name.as_std_string();

        PyObject* wb = PyDict_GetItemString(Instance->_pcWorkbenchDictionary,item.c_str()); 
        if (wb) {
            PyErr_Format(PyExc_KeyError, "'%s' already exists.", item.c_str());
            return NULL;
        }

        PyDict_SetItemString(Instance->_pcWorkbenchDictionary,item.c_str(),object.ptr());
        Instance->signalAddWorkbench(item.c_str());
    }
    catch (const Py::Exception&) {
        return NULL;
    }

    Py_INCREF(Py_None);
    return Py_None;
}
开发者ID:Daedalus12,项目名称:FreeCAD_sf_master,代码行数:57,代码来源:ApplicationPy.cpp


示例3: setToolType

void ToolPy::setToolType(Py::String arg)
{
    std::string typeStr(arg.as_std_string());
    if(typeStr=="Drill")
        getToolPtr()->Type = Tool::DRILL;
    else if(typeStr=="CenterDrill")
        getToolPtr()->Type = Tool::CENTERDRILL;
    else if(typeStr=="CounterSink")
        getToolPtr()->Type = Tool::COUNTERSINK;
    else if(typeStr=="CounterBore")
        getToolPtr()->Type = Tool::COUNTERBORE;
    else if(typeStr=="Reamer")
        getToolPtr()->Type = Tool::REAMER;
    else if(typeStr=="Tap")
        getToolPtr()->Type = Tool::TAP;
    else if(typeStr=="EndMill")
        getToolPtr()->Type = Tool::ENDMILL;
    else if(typeStr=="SlotCutter")
        getToolPtr()->Type = Tool::SLOTCUTTER;
    else if(typeStr=="BallEndMill")
        getToolPtr()->Type = Tool::BALLENDMILL;
    else if(typeStr=="ChamferMill")
        getToolPtr()->Type = Tool::CHAMFERMILL;
    else if(typeStr=="CornerRound")
        getToolPtr()->Type = Tool::CORNERROUND;

    else if(typeStr=="Engraver")
        getToolPtr()->Type = Tool::ENGRAVER;
    else 
        getToolPtr()->Type = Tool::UNDEFINED;
}
开发者ID:3DPrinterGuy,项目名称:FreeCAD,代码行数:31,代码来源:TooltablePyImp.cpp


示例4: setattro

int CyPy_Task::setattro(const Py::String& name, const Py::Object& attr)
{

    auto nameStr = name.as_string();
    if (nameStr == "progress") {
        m_value->progress() = verifyNumeric(attr);
        return 0;
    }
    if (nameStr == "duration") {
        m_value->m_duration = verifyNumeric(attr);
        return 0;
    }
    if (nameStr == "tick_interval") {
        m_value->m_tick_interval = verifyNumeric(attr);
        return 0;
    }
    if (nameStr == "name") {
        m_value->name() = verifyString(attr);
        return 0;
    }

    auto element = CyPy_Element::asElement(attr);
    m_value->setAttr(nameStr, element);
    return 0;
}
开发者ID:worldforge,项目名称:cyphesis,代码行数:25,代码来源:CyPy_Task.cpp


示例5: getattro

Py::Object CyPy_WorldTime::getattro(const Py::String& name)
{
    auto element = get_value()[name.as_string()];
    if (!element.empty()) {
        return Py::String(element);
    }
    return PythonExtensionBase::getattro(name);
}
开发者ID:worldforge,项目名称:cyphesis,代码行数:8,代码来源:CyPy_WorldTime.cpp


示例6: setType

void WaypointPy::setType(Py::String arg)
{
    std::string typeStr(arg.as_std_string());
    if(typeStr=="PTP")
        getWaypointPtr()->Type = Waypoint::PTP;
    else if(typeStr=="LIN")
        getWaypointPtr()->Type = Waypoint::LINE;
    else if(typeStr=="CIRC")
        getWaypointPtr()->Type = Waypoint::CIRC;
    else if(typeStr=="WAIT")
        getWaypointPtr()->Type = Waypoint::WAIT;
    else
        throw Base::Exception("Unknown waypoint type! Only: PTP,LIN,CIRC,WAIT are allowed.");
}
开发者ID:Didier94,项目名称:FreeCAD_sf_master,代码行数:14,代码来源:WaypointPyImp.cpp


示例7: setMaterial

void ToolPy::setMaterial(Py::String arg)
{
    std::string matStr(arg.as_std_string());
    if(matStr=="HighSpeedSteel")
        getToolPtr()->Material = Tool::HIGHSPEEDSTEEL;
    else if(matStr=="Carbide")
        getToolPtr()->Material = Tool::CARBIDE;
    else if(matStr=="HighCarbonToolSteel")
        getToolPtr()->Material = Tool::HIGHCARBONTOOLSTEEL;
    else if(matStr=="CastAlloy")
        getToolPtr()->Material = Tool::CASTALLOY;
    else if(matStr=="Ceramics")
        getToolPtr()->Material = Tool::CERAMICS;
    else if(matStr=="Diamond")
        getToolPtr()->Material = Tool::DIAMOND;
    else if(matStr=="Sialon")
        getToolPtr()->Material = Tool::SIALON;
    else 
        getToolPtr()->Material = Tool::MATUNDEFINED;
}
开发者ID:3DPrinterGuy,项目名称:FreeCAD,代码行数:20,代码来源:TooltablePyImp.cpp


示例8: setName

void WaypointPy::setName(Py::String arg)
{
    getWaypointPtr()->Name = arg.as_std_string();
}
开发者ID:Didier94,项目名称:FreeCAD_sf_master,代码行数:4,代码来源:WaypointPyImp.cpp


示例9: setName

void ToolPy::setName(Py::String arg)
{
    std::string name = arg.as_std_string();
    getToolPtr()->Name = name;
}
开发者ID:3DPrinterGuy,项目名称:FreeCAD,代码行数:5,代码来源:TooltablePyImp.cpp


示例10: setattro

int CyPy_ElementMap::setattro(const Py::String& name, const Py::Object& attr)
{
    m_value.emplace(name.as_string(), CyPy_Element::asElement(attr));

    return 0;
}
开发者ID:worldforge,项目名称:cyphesis,代码行数:6,代码来源:CyPy_Element.cpp


示例11: getattro

Py::Object CyPy_Task::getattro(const Py::String& name)
{
    auto nameStr = name.as_string();
    if (nameStr == "usage") {
        return CyPy_UsageInstance::wrap(m_value->m_usageInstance);
    }
    if (nameStr == "actor") {
        return CyPy_LocatedEntity::wrap(m_value->m_usageInstance.actor);
    }
    if (nameStr == "tool") {
        return CyPy_LocatedEntity::wrap(m_value->m_usageInstance.tool);
    }
//    if (nameStr == "targets") {
//        Py::List list(m_value->m_usageInstance.targets.size());
//        for (size_t i = 0; i < m_value->m_usageInstance.targets.size(); ++i) {
//            list[i] = CyPy_EntityLocation::wrap(m_value->m_usageInstance.targets[i]);
//        }
//        return list;
//    }
//    if (nameStr == "consumed") {
//        Py::List list(m_value->m_usageInstance.consumed.size());
//        for (size_t i = 0; i < m_value->m_usageInstance.consumed.size(); ++i) {
//            list[i] = CyPy_EntityLocation::wrap(m_value->m_usageInstance.consumed[i]);
//        }
//        return list;
//    }
    if (nameStr == "definition") {
        return CyPy_Usage::wrap(m_value->m_usageInstance.definition);
    }
    if (nameStr == "op") {
        return CyPy_Operation::wrap(m_value->m_usageInstance.op);
    }


    if (nameStr == "progress") {
        return Py::Float(m_value->progress());
    }
    if (nameStr == "duration") {
        if (!m_value->m_duration) {
            return Py::None();
        }
        return Py::Float(*m_value->m_duration);
    }
    if (nameStr == "tick_interval") {
        if (!m_value->m_tick_interval) {
            return Py::None();
        }
        return Py::Float(*m_value->m_tick_interval);
    }
    if (nameStr == "name") {
        return Py::String(m_value->name());
    }
    Atlas::Message::Element val;
    if (m_value->getAttr(name, val) == 0) {
        if (val.isNone()) {
            return Py::None();
        } else {
            return CyPy_Element::wrap(val);
        }
    }

    return PythonExtensionBase::getattro(name);
}
开发者ID:worldforge,项目名称:cyphesis,代码行数:63,代码来源:CyPy_Task.cpp



注:本文中的py::String类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ py::Tuple类代码示例发布时间:2022-05-31
下一篇:
C++ py::SeqBase类代码示例发布时间:2022-05-31
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap