Commit c255506e authored by jan.koester's avatar jan.koester
Browse files

now u can use copy

parent 3b339a00
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -92,6 +92,10 @@ libhtmlpp::HtmlString::HtmlString(const char* str) : HtmlString(){
    std::copy(str,str+strlen(str),std::insert_iterator<std::vector<char>>(_Data,_Data.begin()) );
}

libhtmlpp::HtmlString::HtmlString(char str) : HtmlString(){
    _Data.push_back(str);
}

libhtmlpp::HtmlString::HtmlString(const std::string& str) : HtmlString(){
    std::copy(str.begin(),str.end(),std::insert_iterator<std::vector<char>>(_Data,_Data.begin()));
}
@@ -225,6 +229,11 @@ libhtmlpp::HtmlString& libhtmlpp::HtmlString::operator<<(char src) {
    return *this;
}

const char* libhtmlpp::HtmlString::operator*(){
    return _Data.data();
}


size_t libhtmlpp::HtmlString::size() const{
    return _Data.size();
}
+10 −1
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include <cstring>
#include <vector>
#include <stack>
#include <memory>

#pragma once

@@ -186,10 +187,14 @@ namespace libhtmlpp {

    class HtmlString {
    public:

        using value_type = char;

        HtmlString();
        HtmlString(const HtmlString &str);
        HtmlString(const HtmlString *str);
        HtmlString(const char *str);
        HtmlString(char str);
        HtmlString(const std::string &str);
        ~HtmlString();

@@ -217,12 +222,16 @@ namespace libhtmlpp {
        HtmlString& operator<<(char src);
        HtmlString& operator<<(size_t src);

        const char* operator*();

        size_t              size() const;
        void                clear();
        bool                empty();
        const char *        c_str();

        libhtmlpp::Element *parse();
        bool                validate(std::string *err);

    private:
        void                 _serialelize(std::vector<char> in, HtmlElement* out);
        Element             *_buildTree();