//----------------------------------------------------------------------------// void Scheme_xmlHandler::elementGUISchemeStart(const XMLAttributes& attributes) { const String name(attributes.getValueAsString(NameAttribute)); Logger& logger(Logger::getSingleton()); logger.logEvent("Started creation of Scheme from XML specification:"); logger.logEvent("---- CEGUI GUIScheme name: " + name); validateSchemeFileVersion(attributes); // create empty scheme with desired name d_scheme = CEGUI_NEW_AO Scheme(name); }
void GprsCodingScheme::dec() { if (isGprs() && m_scheme == CS1) return; if (isEgprs() && m_scheme == MCS1) return; if (!isValid()) return; m_scheme = Scheme(m_scheme - 1); }
void GprsCodingScheme::inc() { if (isGprs() && m_scheme == CS4) return; if (isEgprs() && m_scheme == MCS9) return; if (!isValid()) return; m_scheme = Scheme(m_scheme + 1); }
void GprsCodingScheme::dec(Mode mode) { if (!isCompatible(mode)) /* This should not happen. TODO: Use assert? */ return; Scheme new_cs(Scheme(m_scheme - 1)); if (!GprsCodingScheme(new_cs).isCompatible(mode)) /* Clipping, do not change the value */ return; m_scheme = new_cs; }
Scheme Relation::join_scheme(Relation r2) { Scheme s = Scheme(); // Put in the whole first scheme for (auto var : this->scheme) s.push_back(var); // Put in any additional vars from the second scheme for (auto var1 : this->scheme) { for (auto var2 : r2.scheme) { if (std::find(s.begin(), s.end(), var2) == s.end()) { s.push_back(var2); } } } return s; }
TEST(URITest, Parse) { EXPECT_THAT(parseOrDie("file://auth/x/y/z"), AllOf(Scheme("file"), Authority("auth"), Body("/x/y/z"))); EXPECT_THAT(parseOrDie("file://au%3dth/%28x%29/y/%5c%20z"), AllOf(Scheme("file"), Authority("au=th"), Body("/(x)/y/\\ z"))); EXPECT_THAT(parseOrDie("file:///%28x%29/y/%5c%20z"), AllOf(Scheme("file"), Authority(""), Body("/(x)/y/\\ z"))); EXPECT_THAT(parseOrDie("file:///x/y/z"), AllOf(Scheme("file"), Authority(""), Body("/x/y/z"))); EXPECT_THAT(parseOrDie("file:"), AllOf(Scheme("file"), Authority(""), Body(""))); EXPECT_THAT(parseOrDie("file:///x/y/z%2"), AllOf(Scheme("file"), Authority(""), Body("/x/y/z%2"))); EXPECT_THAT(parseOrDie("http://llvm.org"), AllOf(Scheme("http"), Authority("llvm.org"), Body(""))); EXPECT_THAT(parseOrDie("http://llvm.org/"), AllOf(Scheme("http"), Authority("llvm.org"), Body("/"))); EXPECT_THAT(parseOrDie("http://llvm.org/D"), AllOf(Scheme("http"), Authority("llvm.org"), Body("/D"))); EXPECT_THAT(parseOrDie("http:/"), AllOf(Scheme("http"), Authority(""), Body("/"))); EXPECT_THAT(parseOrDie("urn:isbn:0451450523"), AllOf(Scheme("urn"), Authority(""), Body("isbn:0451450523"))); EXPECT_THAT( parseOrDie("file:///c:/windows/system32/"), AllOf(Scheme("file"), Authority(""), Body("/c:/windows/system32/"))); }