本文整理汇总了C++中MethodTable::addFunction方法的典型用法代码示例。如果您正苦于以下问题:C++ MethodTable::addFunction方法的具体用法?C++ MethodTable::addFunction怎么用?C++ MethodTable::addFunction使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MethodTable
的用法示例。
在下文中一共展示了MethodTable::addFunction方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: makeMethods
/** Make member methods for this class */
RevLanguage::MethodTable TimeTree::makeMethods( void ) const
{
MethodTable methods = MethodTable();
ArgumentRules* nnodesArgRules = new ArgumentRules();
methods.addFunction("nnodes", new MemberProcedure(Natural::getClassTypeSpec(), nnodesArgRules ) );
ArgumentRules* ntipsArgRules = new ArgumentRules();
methods.addFunction("ntips", new MemberProcedure(Natural::getClassTypeSpec(), ntipsArgRules ) );
ArgumentRules* heightArgRules = new ArgumentRules();
methods.addFunction("rootAge", new MemberProcedure(RealPos::getClassTypeSpec(), heightArgRules ) );
ArgumentRules* namesArgRules = new ArgumentRules();
methods.addFunction("names", new MemberProcedure(ModelVector<RlString>::getClassTypeSpec(), namesArgRules ) );
ArgumentRules* rescaleArgRules = new ArgumentRules();
rescaleArgRules->push_back( new ArgumentRule( "factor", RealPos::getClassTypeSpec(), ArgumentRule::BY_VALUE ) );
methods.addFunction("rescale", new MemberProcedure(RlUtils::Void, rescaleArgRules ) );
// Insert inherited methods
methods.insertInheritedMethods( ModelObject<RevBayesCore::TimeTree>::makeMethods() );
return methods;
}
示例2: MethodTable
/* Get method specifications */
const MethodTable& RateMatrix::getMethods(void) const {
static MethodTable methods = MethodTable();
static bool methodsSet = false;
if ( methodsSet == false ) {
// add method for call "x[]" as a function
ArgumentRules* squareBracketArgRules = new ArgumentRules();
squareBracketArgRules->push_back( new ArgumentRule( "index" , true, Natural::getClassTypeSpec() ) );
methods.addFunction("[]", new MemberProcedure( ModelVector<RealPos>::getClassTypeSpec(), squareBracketArgRules) );
// add method for call "x[]" as a function
ArgumentRules* sizeArgRules = new ArgumentRules();
methods.addFunction("size", new MemberProcedure( Natural::getClassTypeSpec(), sizeArgRules) );
// necessary call for proper inheritance
methods.setParentTable( &ModelObject<RevBayesCore::RateMatrix>::getMethods() );
methodsSet = true;
}
return methods;
}
示例3: MethodTable
/* Get method specifications */
const RevLanguage::MethodTable& RealNodeValTree::getMethods(void) const {
static MethodTable methods = MethodTable();
static bool methodsSet = false;
if ( methodsSet == false )
{
ArgumentRules* meanArgRules = new ArgumentRules();
methods.addFunction("mean", new MemberFunction<RealNodeValTree,Real>( this, meanArgRules ) );
ArgumentRules* tipmeanArgRules = new ArgumentRules();
methods.addFunction("tipMean", new MemberFunction<RealNodeValTree,Real>( this, tipmeanArgRules ) );
ArgumentRules* stdevArgRules = new ArgumentRules();
methods.addFunction("stdev", new MemberFunction<RealNodeValTree,RealPos>( this, stdevArgRules ) );
ArgumentRules* rootArgRules = new ArgumentRules();
methods.addFunction("rootVal", new MemberProcedure(Real::getClassTypeSpec(), rootArgRules ) );
ArgumentRules* clampArgRules = new ArgumentRules();
clampArgRules->push_back(new ArgumentRule("data", false, AbstractCharacterData::getClassTypeSpec()));
clampArgRules->push_back(new ArgumentRule("dataIndex", false, Natural::getClassTypeSpec()));
methods.addFunction("clampAt", new MemberProcedure(RealNodeValTree::getClassTypeSpec(), clampArgRules ) );
// necessary call for proper inheritance
methods.setParentTable( &ModelObject<RevBayesCore::RealNodeContainer>::getMethods() );
methodsSet = true;
}
return methods;
}
示例4: MethodTable
/* Get method specifications */
const MethodTable& ParallelMcmcmc::getMethods(void) const {
static MethodTable methods = MethodTable();
static bool methodsSet = false;
if ( methodsSet == false ) {
ArgumentRules* runArgRules = new ArgumentRules();
runArgRules->push_back( new ArgumentRule("generations", true, Natural::getClassTypeSpec()) );
methods.addFunction("run", new MemberProcedure( RlUtils::Void, runArgRules) );
ArgumentRules* burninArgRules = new ArgumentRules();
burninArgRules->push_back( new ArgumentRule("generations", true, Natural::getClassTypeSpec()) );
burninArgRules->push_back( new ArgumentRule("tuningInterval", true, Natural::getClassTypeSpec()) );
methods.addFunction("burnin", new MemberProcedure( RlUtils::Void, burninArgRules) );
ArgumentRules* operatorSummaryArgRules = new ArgumentRules();
methods.addFunction("operatorSummary", new MemberProcedure( RlUtils::Void, operatorSummaryArgRules) );
// necessary call for proper inheritance
methods.setParentTable( &RevObject::getMethods() );
methodsSet = true;
}
return methods;
}
示例5: getDistributionMethods
MethodTable Dist_sampledSpeciationBirthDeathProcess::getDistributionMethods( void ) const
{
MethodTable methods = TypedDistribution<TimeTree>::getDistributionMethods();
// member functions
ArgumentRules* numEventsArgRules = new ArgumentRules();
// parentArgRules->push_back( new ArgumentRule( "node", Natural::getClassTypeSpec(), "The index of the node.", ArgumentRule::BY_CONSTANT_REFERENCE, ArgumentRule::ANY ) );
methods.addFunction( new DistributionMemberFunction<Dist_sampledSpeciationBirthDeathProcess, ModelVector<Natural> >( "numberEvents", variable, numEventsArgRules ) );
methods.addFunction( new DistributionMemberFunction<Dist_sampledSpeciationBirthDeathProcess, ModelVector<ModelVector<RealPos> > >( "eventTimes", variable, numEventsArgRules ) );
return methods;
}
示例6: getCharacterDataMethods
MethodTable AbstractCharacterData::getCharacterDataMethods( void ) const
{
MethodTable methods = MethodTable();
ArgumentRules* namesArgRules = new ArgumentRules();
ArgumentRules* ntaxaArgRules = new ArgumentRules();
ArgumentRules* excludeTaxaArgRules = new ArgumentRules();
ArgumentRules* excludeTaxaArgRules2 = new ArgumentRules();
ArgumentRules* includeTaxaArgRules = new ArgumentRules();
ArgumentRules* includeTaxaArgRules2 = new ArgumentRules();
ArgumentRules* isSequenceMissingArgRules = new ArgumentRules();
ArgumentRules* percentageMissingArgRules = new ArgumentRules();
ArgumentRules* showdataArgRules = new ArgumentRules();
ArgumentRules* removeTaxaArgRules = new ArgumentRules();
ArgumentRules* removeTaxaArgRules2 = new ArgumentRules();
ArgumentRules* setTaxonNameArgRules = new ArgumentRules();
excludeTaxaArgRules->push_back( new ArgumentRule("" , RlString::getClassTypeSpec() , ArgumentRule::BY_VALUE) );
excludeTaxaArgRules2->push_back( new ArgumentRule("" , ModelVector<RlString>::getClassTypeSpec() , ArgumentRule::BY_VALUE) );
includeTaxaArgRules->push_back( new ArgumentRule("" , RlString::getClassTypeSpec() , ArgumentRule::BY_VALUE) );
includeTaxaArgRules2->push_back( new ArgumentRule("" , ModelVector<RlString>::getClassTypeSpec() , ArgumentRule::BY_VALUE) );
isSequenceMissingArgRules->push_back( new ArgumentRule("" , RlString::getClassTypeSpec() , ArgumentRule::BY_VALUE) );
percentageMissingArgRules->push_back( new ArgumentRule("" , RlString::getClassTypeSpec() , ArgumentRule::BY_VALUE) );
removeTaxaArgRules->push_back( new ArgumentRule("" , RlString::getClassTypeSpec() , ArgumentRule::BY_VALUE) );
removeTaxaArgRules2->push_back( new ArgumentRule("" , ModelVector<RlString>::getClassTypeSpec() , ArgumentRule::BY_VALUE) );
setTaxonNameArgRules->push_back( new ArgumentRule("current" , RlString::getClassTypeSpec() , ArgumentRule::BY_VALUE) );
setTaxonNameArgRules->push_back( new ArgumentRule("new" , RlString::getClassTypeSpec() , ArgumentRule::BY_VALUE) );
methods.addFunction("excludeTaxa", new MemberProcedure(RlUtils::Void, excludeTaxaArgRules ) );
methods.addFunction("excludeTaxa", new MemberProcedure(RlUtils::Void, excludeTaxaArgRules2 ) );
methods.addFunction("includeTaxa", new MemberProcedure(RlUtils::Void, includeTaxaArgRules ) );
methods.addFunction("includeTaxa", new MemberProcedure(RlUtils::Void, includeTaxaArgRules2 ) );
methods.addFunction("isSequenceMissing", new MemberProcedure(RlBoolean::getClassTypeSpec(), isSequenceMissingArgRules ) );
methods.addFunction("names", new MemberProcedure(ModelVector<RlString>::getClassTypeSpec(), namesArgRules ) );
methods.addFunction("ntaxa", new MemberProcedure(Natural::getClassTypeSpec(), ntaxaArgRules ) );
methods.addFunction("percentageMissing", new MemberProcedure(Probability::getClassTypeSpec(), percentageMissingArgRules ) );
methods.addFunction("show", new MemberProcedure(RlUtils::Void, showdataArgRules ) );
methods.addFunction("removeTaxa", new MemberProcedure(RlUtils::Void, removeTaxaArgRules ) );
methods.addFunction("removeTaxa", new MemberProcedure(RlUtils::Void, removeTaxaArgRules2 ) );
methods.addFunction("setTaxonName", new MemberProcedure(RlUtils::Void, setTaxonNameArgRules ) );
// Add method for call "size" as a function
ArgumentRules* sizeArgRules = new ArgumentRules();
methods.addFunction("size", new MemberProcedure( Natural::getClassTypeSpec(), sizeArgRules) );
return methods;
}
示例7: makeMethods
MethodTable RlAtlas::makeMethods( void ) const
{
MethodTable methods;
ArgumentRules* nAreasArgRules = new ArgumentRules();
ArgumentRules* nEpochsArgRules = new ArgumentRules();
ArgumentRules* namesArgRules = new ArgumentRules();
methods.addFunction("names", new MemberProcedure(ModelVector<RlString>::getClassTypeSpec(), namesArgRules ) );
methods.addFunction("nAreas", new MemberProcedure(Natural::getClassTypeSpec(), nAreasArgRules ) );
methods.addFunction("nEpochs", new MemberProcedure(Natural::getClassTypeSpec(), nEpochsArgRules ) );
// Add method for call "size" as a function
ArgumentRules* sizeArgRules = new ArgumentRules();
methods.addFunction("size", new MemberProcedure( Natural::getClassTypeSpec(), sizeArgRules) );
// Insert inherited methods
methods.insertInheritedMethods( ModelObject<RevBayesCore::TimeAtlas>::makeMethods() );
return methods;
}
示例8: MethodTable
/* Get method specifications */
const MethodTable& RateMap::getMethods(void) const {
static MethodTable methods = MethodTable();
static bool methodsSet = false;
if ( methodsSet == false ) {
// add method for call "x.nChars()" as a function
ArgumentRules* nCharsArgRules = new ArgumentRules();
methods.addFunction("nChars", new MemberProcedure( Natural::getClassTypeSpec(), nCharsArgRules) );
// add method for call "x.nStates()" as a function
ArgumentRules* nStatesArgRules = new ArgumentRules();
methods.addFunction("nStates", new MemberProcedure( Natural::getClassTypeSpec(), nStatesArgRules) );
// necessary call for proper inheritance
methods.setParentTable( &ModelObject<RevBayesCore::RateMap>::getMethods() );
methodsSet = true;
}
return methods;
}
示例9: MethodTable
/* Get method specifications */
const MethodTable& SteppingStoneSampler::getMethods(void) const {
static MethodTable methods = MethodTable();
static bool methodsSet = false;
if ( methodsSet == false )
{
ArgumentRules* marginalArgRules = new ArgumentRules();
methods.addFunction("marginal", new MemberProcedure( Real::getClassTypeSpec(), marginalArgRules) );
// necessary call for proper inheritance
methods.setParentTable( &RevObject::getMethods() );
methodsSet = true;
}
return methods;
}