#include <Split.h>
Public Member Functions | |
Split (const std::string &name) | |
Public Attributes | |
std::string | NS |
std::string | Type |
std::string | CName |
std::string | CName1up |
Protected Member Functions | |
Split (const Split &) | |
Private Member Functions | |
Split & | operator= (const Split &) |
Definition at line 28 of file Split.h.
Split::Split | ( | const std::string & | name | ) | [inline] |
Definition at line 31 of file Split.h.
References CName, CName1up, NS, and Type.
00031 { 00032 if (!name.empty() && name[0] == ':') 00033 { 00034 Type = name.substr(1); 00035 } 00036 else 00037 if (name.find(":") != std::string::npos) 00038 { 00039 Parse pa(name, ":"); 00040 00041 NS = pa.getword(); 00042 Type = pa.getword(); 00043 } 00044 else 00045 { 00046 Type = name; 00047 } 00048 for (size_t i = 0; i < Type.size(); i++) 00049 switch (Type[i]) 00050 { 00051 case 'å': 00052 CName += "aa"; 00053 break; 00054 case 'ä': 00055 CName += "ae"; 00056 break; 00057 case 'ö': 00058 CName += "oe"; 00059 break; 00060 case 'Å': 00061 CName += "Aa"; 00062 break; 00063 case 'Ä': 00064 CName += "Ae"; 00065 break; 00066 case 'Ö': 00067 CName += "Oe"; 00068 break; 00069 default: 00070 if (!isalnum(Type[i])) 00071 CName += "_"; 00072 else 00073 CName += Type[i]; 00074 } 00075 CName1up = CName; 00076 if (!CName1up.empty() && CName1up[0] >= 'a' && CName1up[0] <= 'z') 00077 CName1up[0] = (char)CName1up[0] - 32; 00078 }
Split::Split | ( | const Split & | ) | [inline, protected] |
std::string Split::Type |
std::string Split::CName |
std::string Split::CName1up |