本文整理汇总了C++中FileOut类的典型用法代码示例。如果您正苦于以下问题:C++ FileOut类的具体用法?C++ FileOut怎么用?C++ FileOut使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了FileOut类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: write_uml_params
void UmlOperation::write_uml_params(FileOut & out)
{
const Q3ValueList<UmlParameter> p = params();
Q3ValueList<UmlParameter>::ConstIterator it;
for (it = p.begin(); it != p.end(); ++it) {
out.indent();
out << "<ownedParameter xmi:type=\"uml:Parameter\" name=\"" << (*it).name
<< "\" xmi:id=\"BOUML_op_param_"
<< ++param_id << "\" direction=\"";
if (_pk_prefix)
out << "pk_";
switch ((*it).dir) {
case InputOutputDirection:
out << "inout\">\n";
break;
case OutputDirection:
out << "out\">\n";
break;
default:
out << "in\">\n";
}
out.indent(+1);
UmlItem::write_type(out, (*it).type);
out.indent(-1);
out.indent();
out << "</ownedParameter>\n";
}
}
示例2: write_in
void UmlTransition::write_in(FileOut & out)
{
out.indent();
out << "<incoming";
out.idref(this);
out << "/>\n";
}
示例3: write_relation
void UmlRelation::write_relation(FileOut & out) {
// note : it is the first side
if (_assoc_class != 0)
// generated in the association class
return;
const char * k = (_uml_20) ? "ownedElement" : "packagedElement";
out.indent();
out << '<' << k << " xmi:type=\"uml:Association\"";
out.id_prefix(this, "ASSOC_");
Q3CString s = name();
int i1 = s.find("(");
int i2 = s.findRev(")");
if ((i1 != -1) && (i2 != -1) && (i2 > i1) && (s[i1+1] != '<') && (s[i2-1] != '>')) {
s = s.mid(i1 + 1, i2 - i1 - 1);
if (!s.isEmpty()) {
out << " name=\"";
out.quote((const char*)s);//[jasa] ambiguous call
out << '"';
}
}
write_visibility(out);
out << ">\n";
write_ends(out);
out.indent();
out << "</" << k << ">\n";
}
示例4: write
void UmlOpaqueAction::write(FileOut & out) {
write_begin(out, "OpaqueAction");
write_end(out, TRUE);
Q3CString body;
switch(_lang) {
case Uml:
body = behavior();
break;
case Cpp:
body = cppBehavior();
break;
default:
// Java
body = javaBehavior();
}
if (!body.isEmpty()) {
out.indent();
out << "<body>";
out.quote(body);
out << "</body>\n";
}
write_close(out);
}
示例5: write_extension
void UmlRelation::write_extension(FileOut & out) {
if ((side(TRUE) == this) &&
(parent()->stereotype() == "stereotype") &&
(roleType()->stereotype() == "metaclass")) {
const char * k = (_uml_20) ? "ownedMember" : "packagedElement";
out.indent();
out << "<" << k << " xmi:type=\"uml:Extension\" name=\"A_";
out.quote((const char*)roleType()->name());//[jasa] ambiguous call
out << '_';
out.quote((const char*)parent()->name());//[jasa] ambiguous call
out << '"';
out.id_prefix(this, "EXT_");
out.ref(this, "memberEnd", "BASE_");
out << ">\n";
out.indent();
out << "\t<ownedEnd xmi:type=\"uml:ExtensionEnd\" name=\"extension_";
out.quote((const char*)parent()->name());//[jasa] ambiguous call
out << '"';
out.id_prefix(this, "EXTEND_");
out.ref(this, "type");
out << " aggregation=\"composite\"/>\n";
out.indent();
out << "</" << k << ">\n";
}
unload();
}
示例6: write_multiplicity
void UmlItem::write_multiplicity(FileOut & out, WrapperStr s, UmlItem * who)
{
if (!s.isEmpty()) {
WrapperStr min;
WrapperStr max;
int index = s.find("..");
if (index != -1) {
min = s.left(index).stripWhiteSpace();
max = s.mid(index + 2).stripWhiteSpace();
}
else
min = max = s.stripWhiteSpace();
out.indent();
out << "<lowerValue xmi:type=\"uml:LiteralString\"";
out.id_prefix(who, "MULTIPLICITY_L_");
out << " value=\"" << min.operator QString() << "\"/>\n";
out.indent();
out << "<upperValue xmi:type=\"uml:LiteralString\"";
out.id_prefix(who, "MULTIPLICITY_U_");
out << " value=\"" << max.operator QString() << "\"/>\n";
}
}
示例7: write_actor
void UmlClass::write_actor(FileOut & out)
{
out.indent();
out << "<UML:Actor name=\"" << name() << '"';
out.id(this);
out << " visibility=\"public\" isAbstract=\""
<< ((isAbstract()) ? "true" : "false")
<< "\" isActive=\"false\" >\n";
out.indent(+1);
if (stereotype() != "actor")
write_stereotype(out);
write_description_properties(out);
out.indent(-1);
out.indent();
out << "</UML:Actor>\n";
const QVector<UmlItem*> ch = children();
unsigned n = ch.size();
for (unsigned i = 0; i != n; i += 1)
if (ch[i]->kind() == aRelation)
ch[i]->write_if_needed(out);
}
示例8: write_close
void UmlActivityAction::write_close(FileOut & out) {
out.indent(-1);
out.indent();
out << ((parent()->kind() == anActivity) ? "</node>\n" : "</containedNode>\n");
unload();
}
示例9: write_generalization
void UmlNcRelation::write_generalization(FileOut & out)
{
out.indent();
out << "<generalization xmi:type=\"uml:Generalization\"";
out.id(this);
out.ref(target(), "general");
out << "/>\n";
}
示例10: write_stereotyped
void UmlItem::write_stereotyped(FileOut & out)
{
QMap<QString, Q3PtrList<UmlItem> >::Iterator it;
for (it = _stereotypes.begin(); it != _stereotypes.end(); ++it) {
const char * st = it.key();
UmlClass * cl = UmlClass::findStereotype(it.key(), TRUE);
if (cl != 0) {
Q3ValueList<WrapperStr> extended;
cl->get_extended(extended);
Q3PtrList<UmlItem> & l = it.data();
UmlItem * elt;
for (elt = l.first(); elt != 0; elt = l.next()) {
out << "\t<" << st;
out.id_prefix(elt, "STELT_");
const Q3Dict<WrapperStr> props = elt->properties();
Q3DictIterator<WrapperStr> itp(props);
while (itp.current()) {
QString k = itp.currentKey();
if (k.contains(':') == 2) {
out << " ";
out.quote((const char *)k.mid(k.findRev(':') + 1)); //[jasa] ambiguous call
out << "=\"";
out.quote((const char *)*itp.current());
out << '"';
}
++itp;
}
Q3ValueList<WrapperStr>::Iterator iter_extended;
for (iter_extended = extended.begin();
iter_extended != extended.end();
++iter_extended) {
WrapperStr vr = "base_" + *iter_extended;
out.ref(elt, vr);
}
out << "/>\n";
elt->unload();
}
}
}
}
示例11: write_end
void UmlActivityAction::write_end(FileOut & out, bool dontclose) {
out << ">\n";
out.indent(+1);
Q3CString s = constraint();
if (! s.isEmpty()) {
out.indent();
out << "<ownedRule xmi:type=\"uml:Constraint\"";
out.id_prefix(this, "CONSTRAINT_");
out.ref(this, "constrainedElement");
out << ">\n";
out.indent();
out << "\t<specification xmi:type=\"uml:OpaqueExpression\"";
out.id_prefix(this, "CSPEC_");
out << ">\n";
out.indent();
out << "\t\t<body>";
out.quote(s);
out << "</body>\n";
out.indent();
out << "\t</specification>\n";
out.indent();
out << "</ownedRule>\n";
}
write_description_properties(out);
switch (_lang) {
case Uml:
write_condition(out, preCondition(), TRUE);
write_condition(out, postCondition(), FALSE);
break;
case Cpp:
write_condition(out, cppPreCondition(), TRUE);
write_condition(out, cppPostCondition(), FALSE);
break;
default:
// java
write_condition(out, javaPreCondition(), TRUE);
write_condition(out, javaPostCondition(), FALSE);
}
const Q3PtrVector<UmlItem> ch = children();
unsigned n = ch.size();
for (unsigned i = 0; i != n; i += 1)
ch[i]->write(out);
write_incoming_flows(out);
if (!dontclose)
write_close(out);
}
示例12: write_begin
void UmlActivityAction::write_begin(FileOut & out, Q3CString k) {
out.indent();
out << ((parent()->kind() == anActivity) ? "<node" : "<containedNode")
<< " xmi:type=\"uml:" << k << '"';
out.id(this);
if (!name().isEmpty()){
out << " name=\"";
out.quote(name());
out << '"';
}
}
示例13: write
void UmlClass::write(FileOut & out)
{
if (! _written) {
_written = TRUE;
// parent already written
out.indent();
out << "<UML:Classifier.feature>\n";
out.indent(+1);
}
}
示例14: write_incoming_flows
void UmlActivityNode::write_incoming_flows(FileOut & out) {
Q3PtrListIterator<UmlFlow> it(_incoming_flows);
while (it.current() != 0) {
out.indent();
out << "<incoming";
out.idref(it.current());
out << "/>\n";
++it;
}
}
示例15: write_ends
void UmlRelation::write_ends(FileOut & out) {
// note : it is the first side
out.indent();
out << "\t<memberEnd";
out.idref(this);
out << "/>\n";
UmlRelation * other = side(FALSE);
out.indent();
if (other != 0) {
out << "\t<memberEnd";
out.idref(other);
out << "/>\n";
}
else {
out << "\t<ownedEnd xmi:type=\"uml:Property\"";
out.id_prefix(this, "REVERSE_");
if (_assoc_class != 0)
out.ref(_assoc_class, "association");
else
out.ref(this, "association", "ASSOC_");
out << " visibility=\"" << ((_vis_prefix) ? "vis_private\"" : "private\"");
out.ref(parent(), "type");
out << " aggregation=\"";
if (_gen_eclipse)
out << "none";
else {
switch (relationKind()) {
case anAggregation:
case aDirectionalAggregation:
out << "shared";
break;
case anAggregationByValue:
case aDirectionalAggregationByValue:
out << "composite";
break;
default:
out << "none";
}
}
out << "\" isNavigable=\"false\"/>\n";
out.indent();
out << "\t<memberEnd ";
out.idref_prefix(this, "REVERSE_");
out << "/>\n";
}
}