Commit 840cc109 authored by jan.koester's avatar jan.koester
Browse files

copy constructor

parent fe978d82
Loading
Loading
Loading
Loading
+33 −14
Changes for src/html.cpp: 33 added lines, 14 removed lines.
Original line number Diff line number Diff line
@@ -439,22 +439,23 @@ void libhtmlpp::HtmlString::_parseTree(){
    }
}

libhtmlpp::HtmlElement::HtmlElement(const char *tagname){
    _childElement = nullptr;
    _firstAttr = nullptr;
    _lastAttr = nullptr;
    _Type=HtmlEl;
libhtmlpp::HtmlElement::HtmlElement(const char *tagname) : HtmlElement(){
    if(tagname)
        _TagName = tagname;
}

libhtmlpp::HtmlElement::HtmlElement(){
libhtmlpp::HtmlElement::HtmlElement() : Element(){
    _childElement=nullptr;
    _firstAttr=nullptr;
    _lastAttr=nullptr;
    _Type=HtmlEl;
}

libhtmlpp::HtmlElement::HtmlElement(const libhtmlpp::HtmlElement& hel) : HtmlElement(){
    _copy(nullptr,this,&hel);
}


libhtmlpp::HtmlElement::~HtmlElement(){
    if(_Type==HtmlEl){
        delete   _firstAttr;
@@ -601,12 +602,37 @@ int libhtmlpp::Element::getType() const{
    return _Type;
}

libhtmlpp::Element::Element(){
    _prevElement=nullptr;
    _nextElement=nullptr;
}

libhtmlpp::Element::Element(const libhtmlpp::Element& el){
    _prevElement=nullptr;
    _nextElement=nullptr;
    _copy(nullptr,this,&el);
}

libhtmlpp::Element::~Element(){
    delete _nextElement;
};

libhtmlpp::TextElement::TextElement() : Element(){
    _Type=TextEl;
}

libhtmlpp::TextElement::TextElement(const TextElement &texel) : TextElement(){
    _copy(nullptr,this,&texel);
}

libhtmlpp::TextElement::~TextElement(){
}

libhtmlpp::TextElement & libhtmlpp::TextElement::operator=(const libhtmlpp::Element& hel){
    _copy(nullptr,this,&hel);
    return *this;
}


void libhtmlpp::TextElement::setText(const char* txt){
    _Text=txt;
}
@@ -849,13 +875,6 @@ libhtmlpp::HtmlElement::Attributes::~Attributes() {
    delete _nextAttr;
}

libhtmlpp::TextElement::TextElement(){
    _Type=TextEl;
}

libhtmlpp::TextElement::~TextElement(){
}

libhtmlpp::HtmlTable::HtmlTable(){
    _firstRow=nullptr;
    _lastRow=nullptr;
+5 −10
Changes for src/html.h: 5 added lines, 10 removed lines.
Original line number Diff line number Diff line
@@ -43,16 +43,11 @@ namespace libhtmlpp {

    class Element {
    public:
        Element(){
            _prevElement=nullptr;
            _nextElement=nullptr;
        }
        Element();

        virtual ~Element(){
            delete _nextElement;
        };
        virtual ~Element();

        Element(const Element &el) = delete;
        Element(const Element &el);

        void insertAfter(Element* el);
        void insertBefore(Element* el);
@@ -79,7 +74,7 @@ namespace libhtmlpp {
    public:
        HtmlElement();
        HtmlElement(const char* tag);
        HtmlElement(const HtmlElement &hel) = delete;
        HtmlElement(const HtmlElement &hel);
        ~HtmlElement();

        HtmlElement& operator=(const Element &hel);
@@ -127,7 +122,7 @@ namespace libhtmlpp {
    class TextElement : public Element{
    public:
        TextElement();
        TextElement(const TextElement &texel) = delete;
        TextElement(const TextElement &texel);
        ~TextElement();

        TextElement& operator=(const Element &hel);