本文整理汇总了C++中PropList类的典型用法代码示例。如果您正苦于以下问题:C++ PropList类的具体用法?C++ PropList怎么用?C++ PropList使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了PropList类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: vcfg
/**
* Compute the WCET for the given function.
*/
void Command::compute(String fun) {
// Get the VCFG
CFG *cfg = fw->getCFGInfo()->findCFG(fun);
if(!cfg) {
cerr << "ERROR: binary file does not contain the function \""
<< fun << "\".\n";
return;
}
VirtualCFG vcfg(cfg);
//ENTRY_CFG(fw) = &vcfg;
// Prepare processor configuration
PropList props;
ENTRY_CFG(props) = &vcfg;
if(verbose) {
// PROC_VERBOSE(props) = true;
cerr << "verbose !\n";
}
if(dump_constraints)
props.set(EXPLICIT, true);
// Assign variables
VarAssignment assign;
assign.process(fw, props);
// Compute BB time
LiExeGraphBBTime tbt(props);
tbt.process(fw);
// Build the system
BasicConstraintsBuilder builder;
builder.process(fw, props);
// Load flow facts
ipet::FlowFactLoader loader;
loader.process(fw, props);
// Build the object function to maximize
BasicObjectFunctionBuilder fun_builder;
fun_builder.process(fw, props);
// Resolve the system
WCETComputation wcomp;
wcomp.process(fw, props);
// Get the results
ilp::System *sys = SYSTEM(fw);
cout << "WCET = " << WCET(fw) << "\n";
// Dump the ILP system
if(dump_constraints) {
String out_file = fun + ".lp";
io::OutFileStream stream(&out_file);
// if(!stream.isReady())
// throw MessageException("cannot create file \"%s\".", &out_file);
sys->dump(stream);
}
}
示例2: H5Pcopy_prop
//--------------------------------------------------------------------------
// Function: PropList::copyProp
///\brief Copies a property from one list or class to another - Obsolete
///\param dest - IN: Destination property list or class
///\param src - IN: Source property list or class
///\param name - IN: Name of the property to copy - \c char pointer
///\note This member function will be removed in the next release
///\exception H5::PropListIException
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void PropList::copyProp( PropList& dest, PropList& src, const char *name ) const
{
hid_t dst_id = dest.getId();
hid_t src_id = src.getId();
herr_t ret_value = H5Pcopy_prop(dst_id, src_id, name);
if( ret_value < 0 )
{
throw PropListIException(inMemFunc("copyProp"), "H5Pcopy_prop failed");
}
}
示例3: set
void ObjectBlueprint::set( void* ptr, PropList& props ){
PropList::iterator pIT;
Blueprint::iterator bIT;
for( pIT = props.begin(); pIT != props.end(); pIT++ ){
bIT = mBlueprint.find(pIT->first);
if( (bIT != mBlueprint.end()) && bIT->second.second ){
bIT->second.second(ptr, pIT->second);
}
}
}
示例4: fromString
bool fromString(const QByteArray &str)
{
PropList list;
int at = 0;
while(1) {
int n = str.indexOf('=', at);
if(n == -1)
break;
QByteArray var, val;
var = str.mid(at, n-at);
at = n + 1;
if(str[at] == '\"') {
++at;
n = str.indexOf('\"', at);
if(n == -1)
break;
val = str.mid(at, n-at);
at = n + 1;
}
else {
n = str.indexOf(',', at);
if(n != -1) {
val = str.mid(at, n-at);
at = n;
}
else {
val = str.mid(at);
at = str.length()-1;
}
}
Prop prop;
prop.var = var;
prop.val = val;
list.append(prop);
if(str[at] != ',')
break;
++at;
}
// integrity check
if(list.varCount("nonce") != 1)
return false;
if(list.varCount("algorithm") != 1)
return false;
*this = list;
return true;
}
示例5: ReferenceException
//--------------------------------------------------------------------------
// Function: H5Location::p_dereference (protected)
// Purpose Dereference a ref into an hdf5 object.
// Parameters
// loc_id - IN: An hdf5 identifier specifying the location of the
// referenced object
// ref - IN: Reference pointer
// ref_type - IN: Reference type
// plist - IN: Property list - default to PropList::DEFAULT
// from_func - IN: Name of the calling function
// Exception H5::ReferenceException
// Programmer Binh-Minh Ribler - Oct, 2006
// Modification
// May 2008 - BMR
// Moved from IdComponent.
//--------------------------------------------------------------------------
hid_t H5Location::p_dereference(hid_t loc_id, const void* ref, H5R_type_t ref_type, const PropList& plist, const char* from_func)
{
hid_t plist_id;
if (p_valid_id(plist.getId()))
plist_id = plist.getId();
else
plist_id = H5P_DEFAULT;
hid_t temp_id = H5Rdereference2(loc_id, plist_id, ref_type, ref);
if (temp_id < 0)
{
throw ReferenceException(inMemFunc(from_func), "H5Rdereference failed");
}
return(temp_id);
}
示例6: H5Pequal
//--------------------------------------------------------------------------
// Function: PropList::operator==
///\brief Compares this property list or class against the given list or class.
///\param rhs - IN: Reference to the property list to compare
///\return true if the property lists or classes are equal, and
/// false, otherwise.
///\exception H5::PropListIException
// Programmer: Binh-Minh Ribler - April, 2004
//--------------------------------------------------------------------------
bool PropList::operator==(const PropList& rhs) const
{
htri_t ret_value = H5Pequal(id, rhs.getId());
if( ret_value > 0 )
return true;
else if( ret_value == 0 )
return false;
else // Raise exception when H5Pequal returns a negative value
{
throw PropListIException(inMemFunc("operator=="), "H5Pequal failed");
}
}
示例7: H5Pisa_class
//--------------------------------------------------------------------------
// Function: PropList::isAClass
///\brief Determines whether a property list is a certain class.
///\param prop_class - IN: Property class to query
///\return true if the property list is a member of the property list
/// class, and false, otherwise.
///\exception H5::PropListIException
// Programmer: Binh-Minh Ribler - April, 2004
//--------------------------------------------------------------------------
bool PropList::isAClass(const PropList& prop_class) const
{
htri_t ret_value = H5Pisa_class(id, prop_class.getId());
if( ret_value > 0 )
return true;
else if( ret_value == 0 )
return false;
else // Raise exception when H5Pisa_class returns a negative value
{
throw PropListIException(inMemFunc("isAClass"), "H5Pisa_class failed");
}
}
示例8: convert
//--------------------------------------------------------------------------
// Function: DataType::convert
///\brief Converts data from this datatype to the specified datatypes.
///\param dest - IN: Destination datatype
///\param nelmts - IN: Size of array \a buf
///\param buf - IN/OUT: Array containing pre- and post-conversion
/// values
///\param background - IN: Optional backgroud buffer
///\param plist - IN: Property list - default to PropList::DEFAULT
///\return Pointer to a suitable conversion function
///\exception H5::DataTypeIException
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void DataType::convert( const DataType& dest, size_t nelmts, void *buf, void *background, const PropList& plist ) const
{
// Get identifiers for C API
hid_t dest_id = dest.getId();
hid_t plist_id = plist.getId();
// Call C routine H5Tconvert to convert the data
herr_t ret_value;
ret_value = H5Tconvert( id, dest_id, nelmts, buf, background, plist_id );
if( ret_value < 0 )
{
throw DataTypeIException(inMemFunc("convert"), "H5Tconvert failed");
}
}
示例9: mount
//--------------------------------------------------------------------------
// Function: CommonFG::mount
///\brief Mounts the file \a child onto this group.
///\param name - IN: Name of the group
///\param child - IN: File to mount
///\param plist - IN: Property list to use
///\exception H5::FileIException or H5::GroupIException
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
void CommonFG::mount( const char* name, H5File& child, PropList& plist ) const
{
// Obtain identifiers for C API
hid_t plist_id = plist.getId();
hid_t child_id = child.getId();
// Call C routine H5Fmount to do the mouting
herr_t ret_value = H5Fmount( getLocId(), name, child_id, plist_id );
// Raise exception if H5Fmount returns negative value
if( ret_value < 0 )
{
throwException("mount", "H5Fmount failed");
}
}
示例10: close
//--------------------------------------------------------------------------
// Function: PropList::copy
///\brief Makes a copy of an existing property list.
///\param like_plist - IN: Reference to the existing property list
///\exception H5::PropListIException
// Programmer Binh-Minh Ribler - 2000
// Modification
// - Replaced resetIdComponent() with decRefCount() to use C
// library ID reference counting mechanism - BMR, Jun 1, 2004
// - Replaced decRefCount with close() to let the C library
// handle the reference counting - BMR, Jun 1, 2006
//--------------------------------------------------------------------------
void PropList::copy( const PropList& like_plist )
{
// If this object is representing an hdf5 object, close it before
// copying like_plist to it
try {
close();
}
catch (Exception close_error) {
throw PropListIException(inMemFunc("copy"), close_error.getDetailMsg());
}
// call C routine to copy the property list
id = H5Pcopy( like_plist.getId() );
if( id < 0 )
throw PropListIException(inMemFunc("copy"), "H5Pcopy failed");
}
示例11: attr
//--------------------------------------------------------------------------
// Function: H5Object::createAttribute
///\brief Creates an attribute for a group, dataset, or named datatype.
///\param name - IN: Name of the attribute
///\param data_type - IN: Datatype for the attribute
///\param data_space - IN: Dataspace for the attribute - only simple
/// dataspaces are allowed at this time
///\param create_plist - IN: Creation property list - default to
/// PropList::DEFAULT
///\return Attribute instance
///\exception H5::AttributeIException
///\par Description
/// The attribute name specified in \a name must be unique.
/// Attempting to create an attribute with the same name as an
/// existing attribute will raise an exception, leaving the
/// pre-existing attribute intact. To overwrite an existing
/// attribute with a new attribute of the same name, first
/// delete the existing one with \c H5Object::removeAttr, then
/// recreate it with this function.
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
Attribute H5Object::createAttribute( const char* name, const DataType& data_type, const DataSpace& data_space, const PropList& create_plist ) const
{
hid_t type_id = data_type.getId();
hid_t space_id = data_space.getId();
hid_t plist_id = create_plist.getId();
hid_t attr_id = H5Acreate2(getId(), name, type_id, space_id, plist_id, H5P_DEFAULT );
// If the attribute id is valid, create and return the Attribute object
if( attr_id > 0 )
{
Attribute attr( attr_id );
return( attr );
}
else
throw AttributeIException(inMemFunc("createAttribute"), "H5Acreate2 failed");
}
示例12: configure
void Monitor::configure(const PropList& props) {
// Process output
out.setStream(*OUTPUT(props));
log.setStream(*LOG(props));
// process verbosity
bool verbose;
if(props.hasProp(VERBOSE))
verbose = VERBOSE(props);
else
verbose = elm::sys::System::hasEnv(VERBOSE_ENV);
if(verbose) {
flags |= IS_VERBOSE;
log_level = LOG_BB;
}
else
flags &= ~IS_VERBOSE;
// get the log level
log_level_t level = LOG_LEVEL(props);
if(level)
log_level = level;
}
示例13: tryAgain
virtual void tryAgain() {
// All exits of the method must emit the ready signal
// so all exits go through a goto ready;
if(step == 0) {
out_mech = mechanism_;
#ifdef SIMPLESASL_PLAIN
// PLAIN
if (out_mech == "PLAIN") {
// First, check if we have everything
if(need.user || need.pass) {
qWarning("simplesasl.cpp: Did not receive necessary auth parameters");
result_ = Error;
goto ready;
}
if(!have.user)
need.user = true;
if(!have.pass)
need.pass = true;
if(need.user || need.pass) {
result_ = Params;
goto ready;
}
// Continue with authentication
QByteArray plain;
if (!authz.isEmpty())
plain += authz.toUtf8();
plain += '\0' + user.toUtf8() + '\0' + pass.toByteArray();
out_buf.resize(plain.length());
memcpy(out_buf.data(), plain.data(), out_buf.size());
}
#endif
++step;
if (out_mech == "PLAIN")
result_ = Success;
else
result_ = Continue;
}
else if(step == 1) {
// if we still need params, then the app has failed us!
if(need.user || need.authzid || need.pass || need.realm) {
qWarning("simplesasl.cpp: Did not receive necessary auth parameters");
result_ = Error;
goto ready;
}
// see if some params are needed
if(!have.user)
need.user = true;
//if(!have.authzid)
// need.authzid = true;
if(!have.pass)
need.pass = true;
if(need.user || need.authzid || need.pass) {
result_ = Params;
goto ready;
}
// get props
QByteArray cs(in_buf);
PropList in;
if(!in.fromString(cs)) {
authCondition_ = QCA::SASL::BadProtocol;
result_ = Error;
goto ready;
}
//qDebug() << (QString("simplesasl.cpp: IN: %1").arg(QString(in.toString())));
// make a cnonce
QByteArray a(32,'\0');
for(int n = 0; n < (int)a.size(); ++n)
a[n] = (char)(256.0*rand()/(RAND_MAX+1.0));
QByteArray cnonce = QCA::Base64().arrayToString(a).toLatin1();
// make other variables
if (realm.isEmpty())
realm = QString::fromUtf8(in.get("realm"));
QByteArray nonce = in.get("nonce");
QByteArray nc = "00000001";
QByteArray uri = service.toUtf8() + '/' + host.toUtf8();
QByteArray qop = "auth";
// build 'response'
QByteArray X = user.toUtf8() + ':' + realm.toUtf8() + ':' + pass.toByteArray();
QByteArray Y = QCA::Hash("md5").hash(X).toByteArray();
QByteArray tmp = ':' + nonce + ':' + cnonce;
if (!authz.isEmpty())
tmp += ':' + authz.toUtf8();
//qDebug() << (QString(tmp));
QByteArray A1(Y + tmp);
QByteArray A2 = QByteArray("AUTHENTICATE:") + uri;
QByteArray HA1 = QCA::Hash("md5").hashToString(A1).toLatin1();
QByteArray HA2 = QCA::Hash("md5").hashToString(A2).toLatin1();
QByteArray KD = HA1 + ':' + nonce + ':' + nc + ':' + cnonce + ':' + qop + ':' + HA2;
QByteArray Z = QCA::Hash("md5").hashToString(KD).toLatin1();
//qDebug() << (QString("simplesasl.cpp: A1 = %1").arg(QString(A1)).toAscii());
//qDebug() << (QString("simplesasl.cpp: A2 = %1").arg(QString(A2)).toAscii());
//qDebug() << (QString("simplesasl.cpp: KD = %1").arg(QString(KD)).toAscii());
//.........这里部分代码省略.........
示例14: IdComponent
//--------------------------------------------------------------------------
// Function: PropList copy constructor
///\brief Copy constructor
///\param original - IN: The original property list to copy
// Programmer Binh-Minh Ribler - 2000
//--------------------------------------------------------------------------
PropList::PropList(const PropList& original) : IdComponent()
{
id = original.getId();
incRefCount(); // increment number of references to this id
}
示例15: m_hWnd
WindowWin32::WindowWin32(PropList& ParamList) : m_hWnd(NULL)
{
m_iWidth = ParamList.GetInteger("winWidth", 800);
m_iHeight = ParamList.GetInteger("winHeight", 600);
m_sTitle = ParamList.GetString("winTitle", "No Title");
}