Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2008-05-12 13:08:45 +0000
committerStijn Buys <ingar@osirion.org>2008-05-12 13:08:45 +0000
commite4f2faa8d5895ba30207c09c7886afb21a697d5f (patch)
tree90751a70d480781c25274e70c4804f37acf72ee2 /src/auxiliary/functions.cc
parent24c695e83947d3457dbd1f5d696fa09b4ef953c0 (diff)
aux::plural, aux::article
Diffstat (limited to 'src/auxiliary/functions.cc')
-rw-r--r--src/auxiliary/functions.cc51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/auxiliary/functions.cc b/src/auxiliary/functions.cc
new file mode 100644
index 0000000..373a6f0
--- /dev/null
+++ b/src/auxiliary/functions.cc
@@ -0,0 +1,51 @@
+/*
+ aux/functions.cc
+ This file is part of the Osirion project and is distributed under
+ the terms of the GNU General Public License version 2
+*/
+
+#include "auxiliary/functions.h"
+
+namespace aux
+{
+
+const std::string plural(const char * word, size_t n)
+{
+ std::string p(word);
+
+ if (n != 1)
+ p += 's';
+ return p;
+}
+
+const std::string article(const char * word)
+{
+ std::string w(word);
+
+ if (!w.size())
+ return w;
+
+ switch (word[0]) {
+ case 'a':
+ case 'A':
+ case 'e':
+ case 'E':
+ case 'i':
+ case 'I':
+ case 'o':
+ case 'O':
+ case 'u':
+ case 'U':
+ case 'y':
+ case 'Y':
+ w.assign("an ");
+ break;
+ default:
+ w.assign("a ");
+ }
+
+ w.append(word);
+ return w;
+}
+
+}