本文整理汇总了C++中StringT::Prepend方法的典型用法代码示例。如果您正苦于以下问题:C++ StringT::Prepend方法的具体用法?C++ StringT::Prepend怎么用?C++ StringT::Prepend使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类StringT
的用法示例。
在下文中一共展示了StringT::Prepend方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: RunBatch
/* Batch file processing */
void ExecutionManagerT::RunBatch(ifstreamT& in, ostream& status)
{
/* mark status */
status << "\n Processing batch file: " << in.filename() << '\n';
/* start day/date info */
time_t starttime;
time(&starttime);
/* get 1st entry */
StringT nextinfilename;
in >> nextinfilename;
/* repeat to end of file */
while (in.good())
{
/* adjusting execution options */
if (nextinfilename[0] == '-')
AddCommandLineOption(nextinfilename);
else /* execute regular file */
{
/* file path format */
nextinfilename.ToNativePathName();
/* path to source file */
StringT path;
path.FilePath(in.filename());
/* open new input stream */
nextinfilename.Prepend(path);
ifstreamT nextin('#', nextinfilename);
/* process if valid */
if (nextin.is_open())
JobOrBatch(nextin, cout);
else
cout << " File not found: " << nextinfilename << '\n';
}
/* get next entry */
in >> nextinfilename;
}
/* stop day/date info */
time_t stoptime;
time(&stoptime);
cout << "\n Batch start time : " << ctime(&starttime);
cout << " Batch stop time : " << ctime(&stoptime);
}
示例2: IsotropicT
EVPFDBaseT::EVPFDBaseT(ifstreamT& in, const FSMatSupportT& support) :
ParameterInterfaceT("EVPFDBase"),
// FDHookeanMatT(in, support),
IsotropicT (in),
//fdt (element.FEManager().TimeStep()),
//ftime (element.ElementSupport().Time()),
//fStatus (element.RunState()),
fLocDisp (support.LocalArray(LocalArrayT::kDisp)),
fLocLastDisp(support.LocalArray(LocalArrayT::kLastDisp)),
fKineticEqn (NULL),
fSolver (NULL),
fSolverPtr (new SolverWrapperEVPBase(*this)),
fFtot (kNSD),
fs_ij (kNSD),
fc_ijkl (dSymMatrixT::NumValues(kNSD))
{
ExceptionT::GeneralFail("EVPFDBaseT::EVPFDBaseT", "out of date");
// input file
StringT filename;
in >> filename;
// generate relative path in native format
filename.ToNativePathName();
StringT path;
path.FilePath(in.filename());
filename.Prepend(path);
OpenExternal(fInput, filename, "EVPFDBaseT data");
if (in.skip_comments())
fInput.set_marker(in.comment_marker());
// Lame's constants
fmu = Mu();
flambda = Lambda();
fbulk = flambda + 2./3.*fmu;
}
示例3: TakeParameterList
/* accept parameter list */
void ABAQUS_UMAT_SS_BaseT::TakeParameterList(const ParameterListT& list)
{
const char caller[] = "ABAQUS_UMAT_SS_BaseT::TakeParameterList";
/* inherited */
SSIsotropicMatT::TakeParameterList(list);
fDebug = list.GetParameter("debug");
fUseUMATModulus = list.GetParameter("use_UMAT_modulus");
fNumElasticIterations = list.GetParameter("elastic_iterations");
/* dimension work space */
int nsd = NumSD();
fStress.Dimension(nsd);
fIPCoordinates.Dimension(nsd);
fmat_nsd.Dimension(nsd);
fsym_mat_nsd.Dimension(dSymMatrixT::int2DimensionT(nsd));
/* open UMAT parameters file */
StringT path;
path.FilePath(MaterialSupport().InputFile());
StringT params = list.GetParameter("UMAT_parameter_file");
params.ToNativePathName();
params.Prepend(path);
ifstreamT in('#', params);
if (!in.is_open())
ExceptionT::GeneralFail(caller, "could not open file \"%s\"",
params.Pointer());
/* read ABAQUS-format input */
bool nonsym = false;
Read_ABAQUS_Input(in, fUMAT_name, fProperties, fDensity, nstatv, nonsym);
if (nonsym)
fTangentType = GlobalT::kNonSymmetric;
/* notify */
if (fThermal->IsActive())
cout << "\n ABAQUS_UMAT_SS_BaseT::Initialize: thermal strains must\n"
<< " be handled within the UMAT\n" << endl;
/* UMAT dimensions */
ndi = 3; // always 3 direct components
if (nsd == 2)
nshr = 1;
else if (nsd == 3)
nshr = 3;
else
ExceptionT::GeneralFail(caller, "unexpected dimension %d", nsd);
ntens = ndi + nshr;
/* modulus storage */
if (fTangentType == GlobalT::kDiagonal)
fModulusDim = ntens;
else if (fTangentType == GlobalT::kSymmetric)
{
if (nsd == 2) fModulusDim = 10;
else if (nsd == 3) fModulusDim = 21;
else ExceptionT::GeneralFail(caller);
}
else if (fTangentType == GlobalT::kNonSymmetric)
fModulusDim = ntens*ntens;
else
ExceptionT::GeneralFail(caller);
/* storage block size (per ip) */
fBlockSize = 0;
fBlockSize += ntens; // fstress
fBlockSize += ntens; // fstrain
fBlockSize += 3; // fsse_pd_cd
fBlockSize += nstatv; // fstatv
fBlockSize += fModulusDim; // fmodulus
fBlockSize += ntens; // fstress_last
fBlockSize += ntens; // fstrain_last
fBlockSize += 3; // fsse_pd_cd_last
fBlockSize += nstatv; // fstatv_last
/* argument array */
fArgsArray.Dimension(fBlockSize);
/* assign pointers */
doublereal* parg = fArgsArray.Pointer();
fstress.Set(ntens, parg); parg += ntens;
fstrain.Set(ntens, parg); parg += ntens;
fsse_pd_cd.Set(3, parg); parg += 3;
fstatv.Set(nstatv, parg); parg += nstatv;
fmodulus.Set(fModulusDim, parg); parg += fModulusDim;
fstress_last.Set(ntens, parg); parg += ntens;
fstrain_last.Set(ntens, parg); parg += ntens;
fsse_pd_cd_last.Set(3, parg); parg += 3;
fstatv_last.Set(nstatv, parg);
/* UMAT array arguments */
fddsdde.Dimension(ntens);
fddsdde = 0.0;
fdstran.Dimension(ntens);
fdstran = 0.0;
fdrot.Dimension(3); // always 3
fdrot.Identity();
fdfgrd0.Dimension(3); // always 3
//.........这里部分代码省略.........