本文整理汇总了C++中boost::optional::objects方法的典型用法代码示例。如果您正苦于以下问题:C++ optional::objects方法的具体用法?C++ optional::objects怎么用?C++ optional::objects使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类boost::optional
的用法示例。
在下文中一共展示了optional::objects方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: createRegisterAndNameIdfObject
boost::optional<IdfObject> ForwardTranslator::translateLifeCycleCostParameters( model::LifeCycleCostParameters & modelObject )
{
// create, register, and name object
IdfObject idfObject = createRegisterAndNameIdfObject(openstudio::IddObjectType::LifeCycleCost_Parameters,
modelObject);
idfObject.setString(LifeCycleCost_ParametersFields::DiscountingConvention, modelObject.discountingConvention());
idfObject.setString(LifeCycleCost_ParametersFields::InflationApproach, modelObject.inflationApproach());
boost::optional<double> d = modelObject.realDiscountRate();
if (d){
idfObject.setDouble(LifeCycleCost_ParametersFields::RealDiscountRate, *d);
}
d = modelObject.nominalDiscountRate();
if (d){
idfObject.setDouble(LifeCycleCost_ParametersFields::NominalDiscountRate, *d);
}
d = modelObject.inflation();
if (d){
idfObject.setDouble(LifeCycleCost_ParametersFields::Inflation, *d);
}
if (!modelObject.isBaseDateMonthDefaulted()){
idfObject.setString(LifeCycleCost_ParametersFields::BaseDateMonth, modelObject.baseDateMonth().valueDescription());
}
idfObject.setInt(LifeCycleCost_ParametersFields::BaseDateYear, modelObject.baseDateYear());
if (!modelObject.isServiceDateMonthDefaulted()){
idfObject.setString(LifeCycleCost_ParametersFields::ServiceDateMonth, modelObject.serviceDateMonth().valueDescription());
}
idfObject.setInt(LifeCycleCost_ParametersFields::ServiceDateYear, modelObject.serviceDateYear());
idfObject.setInt(LifeCycleCost_ParametersFields::LengthofStudyPeriodinYears, modelObject.lengthOfStudyPeriodInYears());
d = modelObject.taxRate();
if (d){
idfObject.setDouble(LifeCycleCost_ParametersFields::Taxrate, *d);
}
if (modelObject.isDepreciationMethodDefaulted()){
idfObject.setString(LifeCycleCost_ParametersFields::DepreciationMethod, "None");
}else{
idfObject.setString(LifeCycleCost_ParametersFields::DepreciationMethod, modelObject.depreciationMethod());
}
// if useNISTFuelEscalationRates then load idf obbjects from file in resources
if (modelObject.useNISTFuelEscalationRates()){
boost::optional<std::string> region = modelObject.nistRegion();
if (!region){
region = "U.S. Avg";
}
boost::optional<std::string> sector = modelObject.nistSector();
if (!sector){
sector = "Commercial";
}
static boost::optional<IdfFile> usePriceEscalationFile;
if (!usePriceEscalationFile){
usePriceEscalationFile = findIdfFile(":/Resources/LCCusePriceEscalationDataSet2011.idf");
}
OS_ASSERT(usePriceEscalationFile);
for (IdfObject object : usePriceEscalationFile->objects()){
std::string name = object.name().get();
if ((name.find(*region) == 0) &&
(name.find(*sector) != string::npos)){
m_idfObjects.push_back(object);
}
}
}else{
std::string baseDateMonth;
if (!modelObject.isBaseDateMonthDefaulted()){
baseDateMonth = modelObject.baseDateMonth().valueDescription();
}
int baseDateYear = modelObject.baseDateYear();
int lengthOfStudyPeriodInYears = modelObject.lengthOfStudyPeriodInYears();
// make a use price escalation for each fuel type we have inflation for
makeUsePriceEscalation(modelObject.electricityInflation(), "Electricity", baseDateMonth, baseDateYear, lengthOfStudyPeriodInYears, m_idfObjects);
makeUsePriceEscalation(modelObject.naturalGasInflation(), "NaturalGas", baseDateMonth, baseDateYear, lengthOfStudyPeriodInYears, m_idfObjects);
makeUsePriceEscalation(modelObject.steamInflation(), "Steam", baseDateMonth, baseDateYear, lengthOfStudyPeriodInYears, m_idfObjects);
makeUsePriceEscalation(modelObject.gasolineInflation(), "Gasoline", baseDateMonth, baseDateYear, lengthOfStudyPeriodInYears, m_idfObjects);
makeUsePriceEscalation(modelObject.dieselInflation(), "Diesel", baseDateMonth, baseDateYear, lengthOfStudyPeriodInYears, m_idfObjects);
makeUsePriceEscalation(modelObject.coalInflation(), "Coal", baseDateMonth, baseDateYear, lengthOfStudyPeriodInYears, m_idfObjects);
makeUsePriceEscalation(modelObject.fuelOil1Inflation(), "FuelOil#1", baseDateMonth, baseDateYear, lengthOfStudyPeriodInYears, m_idfObjects);
makeUsePriceEscalation(modelObject.fuelOil2Inflation(), "FuelOil#2", baseDateMonth, baseDateYear, lengthOfStudyPeriodInYears, m_idfObjects);
makeUsePriceEscalation(modelObject.propaneInflation(), "Propane", baseDateMonth, baseDateYear, lengthOfStudyPeriodInYears, m_idfObjects);
makeUsePriceEscalation(modelObject.waterInflation(), "Water", baseDateMonth, baseDateYear, lengthOfStudyPeriodInYears, m_idfObjects);
}
return idfObject;
}