source: trunk/packages/vizservers/nanovis/R2/src/R2string.cpp @ 2096

Last change on this file since 2096 was 2096, checked in by ldelgass, 14 years ago

Normalize line endings, set eol-style to native on *.cpp, *.h files

  • Property svn:eol-style set to native
File size: 1.2 KB
Line 
1#include <R2/R2string.h>
2#include <string.h>
3
4R2string::R2string() :
5    _string(NULL),
6    _length(0)
7{
8}
9
10R2string::R2string(const char* str) : _string(NULL), _length(0)
11{
12    if (str != NULL) {
13        set(str, (R2int32) strlen(str));
14    }
15}
16
17R2string::R2string(const R2string& string) : _string(NULL)
18{
19    set(string._string, string._length);
20}
21
22R2string::~R2string()
23{
24    delete [] _string;
25}
26
27R2string& R2string::operator=(const R2string& string)
28{
29    set(string._string, string._length);
30
31    return *this;
32}
33
34R2string& R2string::operator=(const char* string)
35{
36    set(string, strlen(string));
37
38    return *this;
39}
40
41R2string operator+(const R2string& string1, const R2string& string2)
42{
43    R2string ret;
44    ret._length = string1._length + string2._length;
45    ret._string = new R2char[ret._length + 1];
46   
47    strcpy(ret._string, string1._string);
48    strcpy(ret._string + string1._length, string2._string);
49   
50    return ret;
51}
52
53
54R2string operator+(const R2string& string1, const char* string2)
55{
56    R2string ret;
57    ret._length = string1._length + strlen(string2);
58    ret._string = new R2char[ret._length + 1];
59   
60    strcpy(ret._string, string1._string);
61    strcpy(ret._string + string1._length, string2);
62   
63    return ret;
64}
Note: See TracBrowser for help on using the repository browser.