Crevice
0.1
Xypron
>
Projects
>
Crevice
> Doxygen
Main Page
Classes
Files
File List
All
Classes
Functions
Variables
Pages
src
language
Ustring.h
1
/*
2
* File: Unicode.h
3
*
4
* Copyright 2014 Heinrich Schuchardt <xypron.glpk@gmx.de>
5
*
6
* Licensed under the Apache License, Version 2.0 (the "License");
7
* you may not use this file except in compliance with the License.
8
* You may obtain a copy of the License at
9
*
10
* http://www.apache.org/licenses/LICENSE-2.0
11
*
12
* Unless required by applicable law or agreed to in writing, software
13
* distributed under the License is distributed on an "AS IS" BASIS,
14
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
* See the License for the specific language governing permissions and
16
* limitations under the License.
17
*/
18
19
#ifndef USTRING_H
20
#define USTRING_H
21
22
#include <istream>
23
#include <stdint.h>
24
#include <string>
25
#include <vector>
26
30
typedef
uint32_t Uchar;
31
35
class
Ustring
{
36
public
:
37
41
class
Error
{
42
};
43
47
class
Eof
:
public
Error
{
48
};
49
53
class
Invalid
:
public
Error
{
54
};
59
static
const
Uchar
BYTE_ORDER_MARK
= 0xFEFFu;
60
61
Ustring
();
62
Ustring
(std::istream *);
63
Ustring
(
const
Ustring
&);
64
virtual
~Ustring
();
65
int
length
();
66
std::vector<Uchar>::const_iterator
begin
();
67
std::vector<Uchar>::const_iterator
end
();
68
const
bool
operator==(
const
char
*)
const
;
69
Ustring
* operator+=(
const
char
*);
70
Ustring
* operator+=(
const
Uchar &);
71
const
bool
operator < (
const
Ustring
&)
const
;
72
std::string* operator>>(std::string &);
73
const
Uchar &
charAt
(
int
)
const
;
74
private
:
75
int
getchar(std::istream *);
76
static
Invalid
invalid;
77
std::vector<Uchar> s;
78
};
79
80
#endif
/* USTRING_H */
81
Generated on Sat Feb 1 2014 14:50:30 for Crevice by
1.8.1.2