Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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;
+}
+
+}