Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Added copyright and licence header to C++ files and headers for the common directory.
[xestiaab/.git] / source / common / textprocessing.h
1 // textprocessing.h - Text processing subroutines header.
2 //
3 // (c) 2012-2015 Xestia Software Development.
4 //
5 // This file is part of Xestia Address Book.
6 //
7 // Xestia Address Book is free software: you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License as published by the
9 // Free Software Foundation, version 3 of the license.
10 //
11 // Xestia Address Book is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
15 //
16 // You should have received a copy of the GNU General Public License along
17 // with Xestia Address Book. If not, see <http://www.gnu.org/licenses/>
19 #include <iostream>
20 #include <wx/wx.h>
21 #include <map>
23 #ifndef TEXTPROCESSING_H
24 #define TEXTPROCESSING_H
26 void EscapeString(wxString *ReceivedString, bool StripQuotes);
27 void GetEscapeString(wxTextCtrl *TextCtrl, wxString *ProcessString, bool StripQuotes);
28 void GetEscapeString(wxComboBox *ComboCtrl, wxString *ProcessString, bool StripQuotes);
29 void GetEscapeString(wxChoice *ChoiceCtrl, wxString *ProcessString, bool StripQuotes);
30 void CaptureString(wxString *ProcessString, bool StripQuotes);
31 void ConvertToHTML(wxString *ProcessString);
33 void DeleteMapDataProcess(int IndexNum, std::map<int, std::string>* MapData);
34 void DeleteMapDataProcess(int IndexNum, std::map<int, wxString>* MapData);
35 void DeleteMapDataProcess(int IndexNum, std::map<int, bool>* MapData);
36 void DeleteMapDataProcess(int IndexNum, std::map<int, int>* MapData);
38 //void DeleteMapDataB() {};
40 //void DeleteMapData() {};
43 /*
44 template <typename ArgMap, typename... Args>
45 void DeleteMapData(ArgMap* ArgMapPtr, Args*... ArgsList){
47 }
48 */
52 /*
53 template<class T>
54 void test(const char* s, T t) {
55   while (*s) {
56     if (*s == '%' && *(++s) != '%') {
57       if (*s == '*') {
58         //throw std::runtime_error("Not enough parameters!");
59       } else {
60         std::cout << t;
61         test(++s);
62       }
63       return;
64     }
65     std::cout << *s++;
66   }
67   //throw std::logic_error("Too many arguments!");
68 }
72 template<class T, class U, class... Args>
73 void test(const char* s, T t, U u, Args... args) {
74   while (*s) {
75     if (*s == '%' && *(++s) != '%') {
76       if (*s == '*') {
77         int width = 0;
78 //      width = t;                // Uncommenting this would cause a failure if the parameters aren't all int's.
79         bitcopy(&width, &t);
80         std::cout << std::setw(width) << u;
81         test(s+2, args...);
82       } else {
83         std::cout << t;
84         test(++s, u, args...);
85       }
86       return;
87     }
88     std::cout << *s++;
89   }
90   //throw std::logic_error("Too many arguments!");
91 }
92 */
93 /*
96 template<typename... Args>
97 void DeleteMapData(int IndexNum, Args*... args) {
99         //DeleteMapDataProcess(IndexNum, t);
101         intSeekSelectedData = IndexNum;
102         DeleteMapDataB(args...);
104   //throw std::logic_error("Too many arguments!");
107 */
109 //void DeleteMapDataB() { };
111 template<typename MapData, typename... Args>
112 void DeleteMapDataB(MapData* mapdata, Args*... args) {
114         DeleteMapDataB(args...);
118 template<typename... Args>
119 void DeleteMapData(int IndexNum, Args*... args) {
121         //int intSeekSelectedData = 0;
123         //DeleteMapDataProcess(IndexNum, Moo);
125         //intSeekSelectedData = IndexNum;
126         DeleteMapDataB(args...);
127         
130 //void DeleteMapData<ArgMap, Args>(ArgMap* ArgMapPtr, Args*... ArgsList);
132 #endif 
Xestia Software Development
Yn Maystri
© 2006 - 2019 Xestia Software Development
Software

Xestia Address Book
Xestia Calendar
Development

Xestia Gelforn
Everything else

About
News
Privacy Policy