#ifndef KANIMAJI_SVG_HPP #define KANIMAJI_SVG_HPP #include #include #include #include namespace Kanimaji::SVG { class Error : public std::runtime_error { using std::runtime_error::runtime_error; }; class Path { public: class Element; public: Path(std::string_view definition); Path(const Path&) = delete; Path& operator=(const Path&) = delete; Path(Path&&) = default; Path& operator=(Path&&) = default; ~Path(); double Length() const; private: std::vector> mSegments; }; } #endif // KANIMAJI_SVG_HPP