diff options
| author | Mike Buland <eichlan@xagasoft.com> | 2022-04-22 23:52:29 -0700 |
|---|---|---|
| committer | Mike Buland <eichlan@xagasoft.com> | 2022-04-22 23:52:29 -0700 |
| commit | 8ef500bc0b259cf6a73772148153b759e954297e (patch) | |
| tree | d0c30837f15656f0b3bade6ce608d396551b78a4 /src/unstable | |
| parent | 23d88aa2812c361d30abefeeb296548698409bf5 (diff) | |
| download | libbu++-8ef500bc0b259cf6a73772148153b759e954297e.tar.gz libbu++-8ef500bc0b259cf6a73772148153b759e954297e.tar.bz2 libbu++-8ef500bc0b259cf6a73772148153b759e954297e.tar.xz libbu++-8ef500bc0b259cf6a73772148153b759e954297e.zip | |
C++11 introduced actual unicode string literals.bigchange
I'm moving things to take advantage of that. It's pretty cool!
Diffstat (limited to 'src/unstable')
| -rw-r--r-- | src/unstable/text.cpp | 10 | ||||
| -rw-r--r-- | src/unstable/text.h | 3 |
2 files changed, 12 insertions, 1 deletions
diff --git a/src/unstable/text.cpp b/src/unstable/text.cpp index be4c10f..d8cf15c 100644 --- a/src/unstable/text.cpp +++ b/src/unstable/text.cpp | |||
| @@ -19,6 +19,16 @@ Bu::Text::Text() : | |||
| 19 | { | 19 | { |
| 20 | } | 20 | } |
| 21 | 21 | ||
| 22 | Bu::Text::Text( const CodePoint *rSrc ) : | ||
| 23 | pData( NULL ), | ||
| 24 | bIsBmpOnly( true ), | ||
| 25 | iSize( 0 ) | ||
| 26 | { | ||
| 27 | for(; rSrc[iSize]; iSize++ ) {} | ||
| 28 | pData = new CodePoint[iSize+1]; | ||
| 29 | memcpy( pData, rSrc, iSize+1 ); | ||
| 30 | } | ||
| 31 | |||
| 22 | Bu::Text::Text( const Text &rSrc ) : | 32 | Bu::Text::Text( const Text &rSrc ) : |
| 23 | pData( NULL ), | 33 | pData( NULL ), |
| 24 | bIsBmpOnly( rSrc.bIsBmpOnly ), | 34 | bIsBmpOnly( rSrc.bIsBmpOnly ), |
diff --git a/src/unstable/text.h b/src/unstable/text.h index c57dcfb..43e9e2c 100644 --- a/src/unstable/text.h +++ b/src/unstable/text.h | |||
| @@ -35,10 +35,11 @@ namespace Bu | |||
| 35 | public: | 35 | public: |
| 36 | class iterator; | 36 | class iterator; |
| 37 | class const_iterator; | 37 | class const_iterator; |
| 38 | typedef uint32_t CodePoint; | 38 | typedef char32_t CodePoint; |
| 39 | 39 | ||
| 40 | public: | 40 | public: |
| 41 | Text(); | 41 | Text(); |
| 42 | Text( const CodePoint *rSrc ); | ||
| 42 | Text( const Text &rSrc ); | 43 | Text( const Text &rSrc ); |
| 43 | Text( const TextBuilder &rSrc ); | 44 | Text( const TextBuilder &rSrc ); |
| 44 | virtual ~Text(); | 45 | virtual ~Text(); |
